Q&A

  • 이런 쿼리는 어떻게 해야되죠?
AAA 테이블 구조
menucode name

BBB 테이블 구조
num  menucode1,menucode2,menucode3,menucode4,menucode5

BBB 테이블 menucode1~ 5 에는 AAA테이블의 menucode들이 들어가 있습니다

조회할때 menucode1~5에 대응하는 AAA의 name을 출력할려고 합니다
menucode1이름    menucode2이름  menucode3이름  menucode4이름  menucode5이름
--------------------------------------------------------------------------------

이렇게 출력하고 싶습니다
어떻게 해야되죠?
2  COMMENTS
  • Profile
    성더기 2003.10.13 21:08
    답변이 있습니다만 달려 있는 답변이 오라클용이라 다시 답변을 답니다..^^
    아래 답변은 오라클용 Outer join 구문입니다

    저 구문을 인터베이스나 MS-SQL에 쓰면 당연히 안됩니다..^^
    그래서 ANSI 구문으로 바꾸면
    SELECT A.NUM, B.NAME BNAME, C.NAME CNAME, D.NAME DNAME,
                 E.NAME ENAME, F.NAME FNAME
      FROM BBB A
      LEFT OUTER JOIN AAA B ON A.menucode1 = B.menucode
      LEFT OUTER JOIN AAA C ON A.menucode2 = C.menucode
      LEFT OUTER JOIN AAA D ON A.menucode3 = D.menucode
      LEFT OUTER JOIN AAA E ON A.menucode4 = E.menucode
      LEFT OUTER JOIN AAA F ON A.menucode5 = F.menucode

    이렇게 사용하시면 될거 같습니다..
    아 참고로 데이터 베이스가 파라독스라면 Outer Join을 지원하지 않습니다..^^

  • Profile
    열심히 2003.10.11 20:00
    SELECT AA.NAME, AB.NAME, AC.NAME, AD.NAME, AE.NAME
    FROM BBB B, AAA AA, AAA AB, AAA AC, AAAAD, AAA AE
    WHERE B.MENUCODE1 = AA.MENUCODE(+)
    AND B.MENUCODE2 = AB.MENUCODE(+)
    AND B.MENUCODE3 = AC.MENUCODE(+)
    AND B.MENUCODE4 = AD.MENUCODE(+)
    AND B.MENUCODE5 = AE.MENUCODE(+)

    이렇게 하면 될것 같네요..