안녕하세요...
4개의 테이블이 있습니다.
한화면에서 3개의 테이블은 입력을 하게되어있습니다.
그런데 table1 은 값들은 다른데서 입력된 값이 있다면 값을 오는
방식입니다.
그러니까 table1 은 값이 있을때도 있고 없을때도 있습니다.
그리고 table2 ~ table3 은 하나의 화면에서 모두 입력될경우가 있고
모두 입력안될경우가
있고 하나 혹은 둘개만 입력될수도 있습니다.
이렇게 되면 밑에처럼 signdate 필드에 모두 값이 들어갑니다.
만약 table3 에 입력된 값이 없다면 아무것도 입력이
안되는거이죠...
문제점이 list 화면에서 날짜별로 값을 가져와야 하는데 join 으로는
안되군요...
그 해당되는 날짜의 값 테이블이 없는 것들도 있어니까 쉽게 되지
않네요...
일단 들어가있는 자료를 보면
table1 테이블에 날짜 signdate 20041203 으로 들어가 있는것이 3개
=> signdate group by
table 2 테이블에는 날짜 signdate 20041203 으로 들어가 있는것이 3개
=> signdate gorup by
날짜 signdate 20050111 으로 들어가
있는것이 1개
table3 테이블에 날짜 signdate 20041203 으로 들어가 있는것이
1개
table3 테이블에 날짜 signdate 20041203 으로 들어가 있는것이
1개
이렇게 되어 있다면
리스트에서
번호 날짜 ... .....
1 20050111
2 20041203
이렇게 나와야 하는데 조인으로 하니까 하나도 나오지 않네요...
제발도와주세요...
select a.signdate,b.signdate,c.signdate,d.signdate from table1 as a
left outer join table2 as b on a.signdate=b.signdate left outer
join table3 as c on b.signdate=c.signdate left outer join table4 as
d on c.signdate=d.signdate group by
a.signdate,b.signdate,c.signdate,d.signdate
mysql> select a.signdate,b.signdate,c.signdate,d.signdate from
table
1 as a left outer join table2 as b on a.id=b.id left outer join
table3 as c on a.id=c.id left outer join table4 as d on a.id=
d.id group by a.signdate,b.signdate,c.signdate,d.signdate;
+----------+----------+----------+----------+
| signdate | signdate | signdate | signdate |
+----------+----------+----------+----------+
| 20041203 | 20041203 | 20041203 | NULL |
| 20041203 | 20050114 | 20041203 | NULL |
+----------+----------+----------+----------+
2 rows in set (0.00 sec)
이런식으로 하니까 이렇게 나요네요 ㅠ,ㅠ 미치겠습니다....
일단 날짜만만 뽑아서 나타내주고 링크는 해당되는 날짜로 뷰를
나타내주면 됩니다...
참고로 호스팅 하는 업체의 mysql 버전이 낮아서 서브쿼리는 되지
않습니다.. ㅠ,ㅠ
table1 테이블 ##########
uid
signdate
table2 테이블 ##########
uid
signdate
table3 테이블 ##########
uid
signdate
table4 테이블 ##########
uid
signdate
|