수고많으십니다.
다름이 아니라
직기테이블과 부품테이블, 거래처테이블이 있는데,
어떤 직기에 보수가 발생하면 어떤 거래처의 어떤 부품이 몇개나 그리고 금액은 얼마인지를 알아보기위해
select 직기번호, 거래처명, 부품명, sum(보수량), sum(보수금액) from "직기", "부품", "거래처" where 직기.거래처코드 = 거래처.거래처코드 and 직기.부품코드 = 부품.부품코드 group by 직기번호, 거래처명, 부품명
이라는 질의를 생성시켜 DBGrid에 표시를 하였는데,
문제는 먼저 부품에 대한 합계를 DBGrid에 한라인 생성시키고 그리고 거래처에 대한 합계를 또 한라인 생성시키고, 마지막으로 해당 직기에 대한 합계를 DBGrid에 표시를 하게 만들려고 하는데 도무지 감을 잡지 못하겠슴다....
설명이 이상해 잘 못알아 볼수 있겠는데 Decision Cube에서 Decision Grid를 사용해서 표시되는 그런 형식 또는 엑셀에서 피벗테이블 기능으로 데이타들의 소계와 총계를 나타내듯이 그런식으로 표현을 하고 싶은 것입니다.
제발 아시는 분은 자그마한 지푸라기라도 좀 주십시요....
요번 주 내로 끝내야 하는 프로그램인데... 아주 돌아버리겠슴다...ㅠㅠ
그럼 답변 기달기고 있겠습니다......^^
날씨가 점점 추워지는데 감기 조심하십시요......
> 수고많으십니다.
> 다름이 아니라
> 직기테이블과 부품테이블, 거래처테이블이 있는데,
> 어떤 직기에 보수가 발생하면 어떤 거래처의 어떤 부품이 몇개나 그리고 금액은 얼마인지를 알아보기위해
>
> select 직기번호, 거래처명, 부품명, sum(보수량), sum(보수금액) from "직기", "부품", "거래처" where 직기.거래처코드 = 거래처.거래처코드 and 직기.부품코드 = 부품.부품코드 group by 직기번호, 거래처명, 부품명
>
> 이라는 질의를 생성시켜 DBGrid에 표시를 하였는데,
>
> 문제는 먼저 부품에 대한 합계를 DBGrid에 한라인 생성시키고 그리고 거래처에 대한 합계를 또 한라인 생성시키고, 마지막으로 해당 직기에 대한 합계를 DBGrid에 표시를 하게 만들려고 하는데 도무지 감을 잡지 못하겠슴다....
>
> 설명이 이상해 잘 못알아 볼수 있겠는데 Decision Cube에서 Decision Grid를 사용해서 표시되는 그런 형식 또는 엑셀에서 피벗테이블 기능으로 데이타들의 소계와 총계를 나타내듯이 그런식으로 표현을 하고 싶은 것입니다.
>
> 제발 아시는 분은 자그마한 지푸라기라도 좀 주십시요....
>
> 요번 주 내로 끝내야 하는 프로그램인데... 아주 돌아버리겠슴다...ㅠㅠ
>
> 그럼 답변 기달기고 있겠습니다......^^
>
> 날씨가 점점 추워지는데 감기 조심하십시요......
안녕하세요. 까마귀입니다.
제가 제대로 이해한건지를 모르겠네요.
일단 이런식인것 같은데요.
직기번호 거래처명 부품명 보수량 보수금액
001 아무개 ss 1 5,000
.
.
부품합 25,000
거래처합 15,000
직기합 xxxxxx
대충 이런식이 맞나요?
그렇다면 Grid에서 바로 해결은 못하고요.
Query에서 해결을 봐야겠네요.
DB가 뭔지를 모르겠는데요. 제가 아는게 MS-SQL이니까 그걸로 설명드릴게요.
UNION ALL 을 사용하면 되는데요.
먼저 처음의 결과를 만드는 Query 밑에 union all을 추가하고요.
그 밑에는 부품합을 나타내는 Query문을 적으세요.
단 조건은 서로 합쳐지는 필드의 Type이 같아야 한다는 겁니다.
문자형 필드에는 문자형이 숫자형에는 숫자형이 와야 한다는 거지요.
위 같은 경우는 직기번호,거래처명,부품명이 String이라고 가정하고,
보수량과 금액은 Decimal이라고 하면
union all
select '부품합',null,null,0,sum(부품합계)
이런식으로 하면 될겁니다.
많이 허접한 답변인데요.
union에 대해 조금 보면 바로 알수 있는 겁니다.
오라클도 약간의 차이가 있지 거의 같은걸로 알고있으니까, 혹
오라클 사용이라도 무리없이 적용이 가능할겁니다.
위대한 단군혼이 살아있는 나라.... 대한민국.