정원철 님이 쓰신 글 :
: 안녕하세요.? 정원철입니다.
:
: 파이어버드로 간단한 통계프로그램을 하나 만들어보고 있습니다.
: 그런데 sql 사용법이 너무 어렵네요.
:
: CREATE TABLE TEST_DATA (
: UID INTEGER NOT NULL, // Uid
: REG_DATE VARCHAR(20) NOT NULL, // 등록날자
: NAME VARCHAR(20) NOT NULL, // 작성자명
: CATE VARCHAR(20) NOT NULL, // 카테고리(종류1,종류2,.... 종류10)
: TiTle VARCHAR(255) NOT NULL); // 문서명
:
: 위와 같은 테이불에서 DBGrid에 다음의 형태로 뿌리려고 합니다.
:
: Name 종류1 종류2 ... 종류10 합계
: 홍길동 1 2 3 4
: 이름1 3 3 5 9
: 이름2 10 3 10 23
: 이름3 15 5 5 25
: 종 합 29 13 23 61
:
select name, sum(종류1) "종류1",sum(종류2),....sum(종류10) "종류10",
sum(종류1)+sum(종류2)+''''+sum(종류10) "합계"
from
(
select
' ' name,
0 '종류1',0 '종류2', ...0 '종류10'
ffrom rdb$database
--위 문장은 종류1~10까지 모두 나타나게 하기 위해..
union all
select
name,
case when cate = '종류1' then 1 else 0 end '종류1',
case when cate = '종류21' then 1 else 0 end '종류2',
...
case when cate = '종류10' then 1 else 0 end '종류10'
)
group by name
|