뭐 답이 나올까는 모르겠지만..
A라는 테이블이 이런식으로
No, KEY1, Name
( 1, 001, AAA )
( 2, 002, BBB )
( 3, 003, CCC )
( 4, 004, DDD )
( 5, 005, EEE )
으로 있고, No가 진짜 key이고, Key1은 진짜 key는 아님.
B라는 테이블이 아래와 같은 식으로
KEY1, JOB
( 002, aaa )
( 006, bbb )
( 007, ccc )
이런 식으로 있을때
A라는 테이블과 B라는 테이블의 KEY1을 통합하여서 결과를 보여주고 싶은데 어떻게 하면 좋을까 ?
ㅇㅇ ?
A에는 있지만 B에는 없는 Key1이 있고, B에는 있지만 A에는 없는 Key1이 있는데..
ㅇㅇ
http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/
ㄴ ㄳㄳ
아재.. join 몰라요?
흠.. 그런데.. 지금 대상인 DB에서는 Full outer join이나 CROSS JOIN 키워드는 안먹넹. 아.. 이너 조인 짜집기랑 마이너스랑 유니언 짜집기를 해서 만들어야 하겠넹.. 으으으.. DB 왜이리.. 개판... 으으으~
방이오피녀// 질문을 잘봐바. 그냥 단순하게 조인이 가능했다면 이런 질문 안했음.
오오 cross join 먹힌다. sh ㄳㄳ 이걸로 한방에 해결. ㅇㅇ
인줄 알았는데... 결과 확인해보니.. 다시 원점으로.. 흠.. ㅠㅠ
회한접시달아놓겠읍니다장부에
아시발쿰
아우터 조인이 왜 안된다는건지 이해가 잘?
테이블을 잘봐라 key로 지정되어있는 것이 A에도 한쪽에는 존재하는데 다른쪽에는 없고, B라는 테이블도 한쪽에는 존재하는데 다른쪽에 없으니.. 결국 단순 조인으로는 해결 안된다는 것이지.. 저것을 순수 SQL로 할려면 2개의 합집합을 만든 뒤에 각각의 테이블을 마이너스 하고, 그 후에 다시 크게 하나의 유니언을 해야 할 것 같은데.. A와 B 생성 시키는 쿼리만 해도 엄청 복잡한데.. 그 짓을 몇번을 해야하니.. 성능도 그렇고 가독성도 그렇고 모두 개판일 것 같아서 묻는거.
sub select로는 안됨?
안됨 ㅇㅇ
일단 A랑 B가 하나의 테이블이라기 보다.. 임시로 쿼리해서 나오는 임시 테이블쯤으로 생각하면 되는데.. 암튼.. 이 후로젝트가 막판에 키가 없어지고, DB도 신건이면 분리해야 할 것을 하나로 뭉뚱그려두는 바람에 완전 엉망진창이 되어버려서 쿼리 삽질중
테이블 안봐서 잘 모르겠는데 난 저런거 나오면 키테이블을 하나 따로 만드는데.
키는 부서코드쯤으로 생각하면 되는데.. 그걸 따로 만들자니 후로그램 전반을 뜯어고쳐야 할판이라서 손은 안됨.
아넹
애초에 모든 데이터를 우리가 생성하는게 아니라.. 외부 테이블 연계에 의해서 가져오는 부분도 있고.. 그냥 예는 목표로 하는 작업이라서 간단하게 들었는데.. 실제 쿼리는 졸라 복잡함. ㅇㅇ
오라클에서는 될거같은데
디비뭐씀?
티베로
티베로;;
아~ full outer join 먹게 하는 법 찾았다. 암튼 ㄳㄳ 되긴 되넹. ㅇㅇ
http://ko.wikipedia.org/wiki/Join_(SQL)
여기의 FULL OUTER JOIN 이랑 없을 경우 구현하는 예제 항목이 가장 확실하넹. ㅇㅇ
union all