Q&A

  • 3개 Table join 하는것 좀 알려주세요
sql 좀 알려주세여.... 잘몰라서. 테이블은 3개입니다.
pypeopm <= 인사등록 테이블
pyplusm  <= 각종수당저장 테이블
pyptaxm  <= 수당에 금액따른 각종 공제 테이블

이렇게 3개의 테이블이 있습니다. 이것을 부서별로 지급내역을 볼려구하거든요. pypeopm 의 필드에서 peop_team 을 group by 로 해서 하는데
한번에 불러올려구여 for 문으로 돌리면 시간이 넘 걸려서 for 문을 사용하지 않고 순수 query 문으로 가져올려구요 db 는 파라독스 이구여.. 그디 단순 join 으로도 가져올수 있는데여 문제는
pypeopm 데이블이에서 peop_team 으로 그룹으로 가져와여 그래서
다음과 같이
select * from pypeopm a, pyplusm b, pyplusm c where
a.Codenum = b.codenum and a.codenum = c.codenum
group by a.peop_team 하면 부서별로 가져오는데 결론은
조건에서와 같이 3개의 table 에 모두 같은 사원번호가 있어야 한다는 것입니다. 물론 pypeopm 사원 마스타에는 해당사원이 있죠 근디 pyplusm 에는
있는데 pyptaxm 없을수도 있다는 거죠 어찌 해야하는지 left join 을 사용해야
할거 같은데 해도 오류가 뜨고 제가 아직은 몰라서 잘되지 않네여...
고수님을 멋진 query 부탁드립니다.
1  COMMENTS
  • Profile
    이충효 2003.05.07 19:33
    예전에 제가 질문한 내용과 같은 거네요,,
    알면 쉬운건데,, 그땐 무지 헤메고 다녔습니다.

    select  a.*,   b.*,   c.* from a
       left join b on b.id=a.id     ----> DB에 따라 left outer join 이라고 사용가능.
       left join c on c.part=b.ppp

    만약 그룹을 정하려면 아래 문장을 추가하세요..  
      group by c.part
    이때는 select 문에서
      select c.part, sum(a.pay) from a 요런식으로 수치필드의 합산을 해주고,,


    그럼,, 열심히.. 하세요..
    늘 물어보다가 답변하니 어색하네요.