둘 이상의 테이블 조인에 대한 메모

4172 단어 SQL기초


이런 SQL 테마



여러분, 이런 SQL의 사양서가 왔을 때에 어떤 SQL 짜고 있습니까?
별로 위에서 시선이 아니라 내가 평상시 디자이너 사용하고 있을 뿐이었기 때문에 수타 환경(Oracle)이 되어
잘 모르겠다고 말하는 이야기
(Yahoo 지혜봉투에 써달라고 말해지는 것 같은 생각도 해 오는데 어디까지나 자신이 의문으로 생각한 것을 전개해 두면 혹시 다른 사람의 역에도 서있을지도 모르겠다는 의미에서의 메모)← 변명하다

처음에는 이렇게 썼다.



SQL 메모
SELECT A.HINBAN FROM ZAIKO AS A
    INNER JOIN HINBAN AS HIN ON A.HINBAN = HIN.HINBAN
    INNER JOIN HINBANLOC AS HINLOC ON A.HINBAN = HINLOC.HINBAN
    INNER JOIN M_LOCATION AS LOC ON HINLOC.LOC_CD = LOC.LOC_CD

걱정되는 곳은 여기



재고 테이블과 로케이션 마스터에 대한 JOIN인데, ON 곳에서 품번 로케테이블과 로케이션 마스터의, 이콜 조건을 써 버리고 있다. 치구하구요.

SQL 메모
SELECT A.HINBAN FROM ZAIKO AS A
    INNER JOIN M_LOCATION AS LOC ON HINLOC.LOC_CD = LOC.LOC_CD

결국



이렇게 썼지만 아직 업무 데이터를 읽을 수 없는 것도 있어 시행착오를 했다.
있어,,, 그렇지? (웃음)
검색해도 의외로 나오지 않을거야 ~ 이런거
제목 이름은 내가 검색한 키워드로 썼다.

SQL 메모
SELECT A.HINBAN, LOC.LOC_CD FROM ZAIKO AS A
    INNER JOIN HINBAN AS HIN ON A.HINBAN = HIN.HINBAN
    INNER JOIN (
        SELECT HINLOC.HINBAN FROM HINBANLOC AS HINLOC 
        INNER JOIN M_LOCATION AS LOC ON HINLOC.LOC_CD = LOC.LOC_CD
    ) AS LOC

좋은 웹페이지 즐겨찾기