넘 초보라 다음과 같은 결과를 얻으려는데 어떻게 해야하는지요.
도와주세요
DBGrid에서는 아래의 내용이 어렵고 힘들다고 하면서
StringGrid를 권유하는 답변을 받았는데요 초보가 DBGrid에서는 쿼리가
그렇게 힘들까요 어느쪽이 향상성이 있는지 부탁드립니다.
또한 결과값이 나오게 쿼리 부탁드립니다.
사원테이블
-----------------------
si_no si_year si_name
-----------------------
1001 2001 김길동
1002 2001 강기동
1003 2001 홍준희
1004 2001 김희야
1005 2001 장희주
판매테이블
----------------------
si_no so_sale so_pes
----------------------
1001 01 20
1001 02 10
1001 03 25
1003 03 10
1003 01 20
1003 02 10
다음과 같은 결과 값을
DB_Grid 에서 구하려면 부탁드립니다.
----------------------------------------
si_no si_name 01 02 03
----------------------------------------
1001 김길동 20 10 25
1003 홍준희 20 10 10
우선 쓰시는 디비가 무엇인지 말씀해 주셔야죠.
모든 디비가 SQL-92 표준를 따르는것두 아니고, 또 저마다 특징이 있어서요.
전 ms-sql를 이용해서 쿼리로 그러한 결과가 나올수있도록
구현해 보았습니다.
물론 쿼리상의 그런 최적화는 신경쓰지않았구요,
다른 좋은 쿼리가 떠오르시면 그거 쓰셔도 되죠.
그냥, 제가 함 생각없이 해본겁니다.
결과는 제대로 나오네요 ^^
select c.si_no, c.si_name, sum(월1) '1월', sum(월2) '2월', sum(월3) '3월'
from (select a.si_no, a.si_name,
월1= case b.so_sale when '01' then isnull(sum(b.so_pes), 0) else 0 end,
월2 = case b.so_sale when '02' then isnull(sum(b.so_pes), 0) else 0 end,
월3 = case b.so_sale when '03' then isnull(sum(b.so_pes), 0) else 0 end
from sawon a, panmae b
where a.si_no = b.si_no
group by a.si_no, a.si_name, b.so_sale
) c
group by c.si_no, c.si_name
그럼.