드로우홀릭 더베이직
현재 union 쿼리를 사용하여 3개의 테이블을 엮으려고 하는데
NULL AS 를 사용하여 UNION으로 엮으니 이렇게 됩니다
ID | 이름 | 나이 | 소속 | 직책 | 전소속 | 연설주제 | 연설내용 | |||
1 | 홍길동 | 20 | 국회 | 사장 |
| |||||
1 | 홍길동 | 20 | 협회 | 이사장 |
| |||||
1 | 홍길동 | 20 |
|
| 학회 |
| ||||
1 | 홍길동 | 20 |
|
| 대학교 |
| ||||
1 | 홍길동 | 20 |
|
| @@@ | ~~~~@ | ||||
2 | 홍길순 | 40 | 국회 | 부장 |
| |||||
2 | 홍길순 | 40 |
|
| ### | ~~~~# | ||||
2 | 홍길순 | 40 |
|
| &&& | ~~~~& |
이걸
ID | 이름 | 나이 | 소속 | 직책 | 전소속 | 연설주제 | 연설내용 | |||
1 | 홍길동 | 20 | 국회 | 사장 | 학회 | @@@ | ~~~~@ | |||
1 | 홍길동 | 20 | 협회 | 이사장 | 대학교 |
|
| |||
2 | 홍길순 | 40 | 국회 | 부장 |
| ### | ~~~~# | |||
2 | 홍길순 | 40 | &&& | ~~~~& |
이렇게 위로 땡길 수는 없는건가요? ㅜㅜ
Left join으로 원래 했었는데 그러면 참조하는 테이블의 레코드 수 만큼 곱절이 돼서 가독성도 너무 떨어지고 이게 뭔가 싶어서 union으로 시도했는데 이런 불편함이 또 있네요 ㅠㅠ
첨부파일 또한 첨부합니다. 쿼리탭을 확인해보시면 제가 만든 예제들이 있습니다..!
답변 주시면 정말 감사하겠습니다 ㅠㅠ
원하시는 대로 만드는 것은 불가능합니다.
위 그림을 보고 말씀 드리자면..
'홍길동'에 대해서.. 경력정보와 직업정보 그리고 활동정보 테이블을 연결하고 싶다는 것인데..
이것을 연결할 때, '홍길동' 이기만 하면 경력정보와 직업정보는 그 순서가 중요하지 않다는 의미입니다.
그런데, 이런 연산은 데이터베이스에서 지원하지 않습니다.
그러니까, 지금 원하시는 결과를 보면..
홍길동의 '소속'이 '국회'와 '협회'가 있지요.
그런데 '연설주제'는 '소속'이 '국회'이든 '협회'이든 상관없이 '@@@'과 빈 값이 나와야 한다는 것인데..
이것은 논리적으로 말이 되지 않습니다.
혹시 정 필요하다면, '홍길동'에 대해서 최근 '경력정보', '직업정보', '활동정보'를 하나씩만 보여주는 쿼리를 만드는 것은 가능하겠죠.
이런 것을 원하신다면, 폼이나 보고서의 기능을 이용하셔야지, 하나의 쿼리셋으로 만드는 것은 불가능합니다.