Q&A

  • DBGrid 도와주세요
넘 초보라 다음과 같은 결과를 얻으려는데 어떻게 해야하는지요.

도와주세요



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



1  COMMENTS
  • Profile
    이재식 2001.05.22 18:45
    안녕하세요?



    우선 쓰시는 디비가 무엇인지 말씀해 주셔야죠.

    모든 디비가 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



    그럼.