하나의 TABLE에 재고물량의 데이터가 저장되어 있습니다. 그리고, 재고 물품의 종류는
대분류, 중분류, 소분류 코드로 구분되어져 있습니다. 여기서 제가 해야 할 것이
물품의 대분류, 중분류, 소분류순서로 소계와 총계를 구할려고 하느데요 잘 안되네요.
예를 들어서,
대분류가 컴퓨터, 중분류가 보조기억장치, 마우스,, 소분류가 보조기억장치는 삼성, LG
마우스는 Intel, Micro라면
컴퓨터 총계 총수량 총가격 ....
보조기억장치 소계 수량 가격.....
삼성 소계 수량 가격 ......
삼성1 1, 1000
삼성2 2, 2000
LG 소계 수량 가격.....
LG1 2 2000
마우스 소계 수량 가격.....
INTEL 소계 수량 가격 ......
INTEL1 1, 1000
INTEL2 2, 2000
Micro 소계 수량 가격.....
Micro1 2 2000
여기서 SQL문장은 어떻게 해야하며, quickreport에서는 어떻게 해야 되는지요?
물품의 개수만큼 SQL를 써야 하나요 아니면 다름방법이 있느지
고수님들의 조언 부탁드립니다.
> 하나의 TABLE에 재고물량의 데이터가 저장되어 있습니다. 그리고, 재고 물품의 종류는
> 대분류, 중분류, 소분류 코드로 구분되어져 있습니다. 여기서 제가 해야 할 것이
> 물품의 대분류, 중분류, 소분류순서로 소계와 총계를 구할려고 하느데요 잘 안되네요.
> 예를 들어서,
> 대분류가 컴퓨터, 중분류가 보조기억장치, 마우스,, 소분류가 보조기억장치는 삼성, LG
> 마우스는 Intel, Micro라면
> 컴퓨터 총계 총수량 총가격 ....
> 보조기억장치 소계 수량 가격.....
> 삼성 소계 수량 가격 ......
> 삼성1 1, 1000
> 삼성2 2, 2000
> LG 소계 수량 가격.....
> LG1 2 2000
> 마우스 소계 수량 가격.....
> INTEL 소계 수량 가격 ......
> INTEL1 1, 1000
> INTEL2 2, 2000
> Micro 소계 수량 가격.....
> Micro1 2 2000
> 여기서 SQL문장은 어떻게 해야하며, quickreport에서는 어떻게 해야 되는지요?
> 물품의 개수만큼 SQL를 써야 하나요 아니면 다름방법이 있느지
> 고수님들의 조언 부탁드립니다.
>
>
안녕하세요. 까마귀입니다.
일단 두군데서 보여줘야 하는것 같군요.
하나는 DBGrid에서 보이고, 또 하나는 출력물에서 보이고요.
Grid에서 보이게 하려면 Union을 사용해야 합니다.
Union은 서로 다른 테이블의 내용을 하나로 합쳐주는 겁니다.
단 각 Field의 Type은 일치해야 합니다.
여기서 테이블은 결과셋이라고 봐도 무방하고요.
그러니까, 먼저 원하는 레코드를 가지는 결과셋을 만들고요. 소계와 총계가 아닌 말하자면 Detail적인 결과셋입니다.
그리고, 각각의 소계를 가지는 결과셋을 만들고요.
또, 총계를 만들면 되겠지요.
그리고, 이것들을 Union으로 묶어주면 됩니다.
Select 품명, 수량, 가격 From 재고테이블 Where 조건...
Union
Select 소분류명, '소계', Sum(수량), Sum(가격) From 재고테이블 Where 조건.. Group By 소분류명..
이런 식으로 써주시면 됩니다.
출력물은 더욱 간단하네요.
일반 출력할때 처럼 잡아주시고요.
거기에 TQRGroup, TQRBand(BandType = rbGroupFooter, rbSummary)를 사용하시면 됩니다.
참, 여기에 관련된것들은 검색해보시면 많이 나옵니다.
위대한 단군혼이 살아있는 나라.... 대한민국.