아래처럼 쿼리문을 작성해서 실행을 하면 엉뚱한 자료만 갖고옵니다.
파라독스의 문제인지 아니면 제가 쿼리문을 잘못 작성한건지 모르겠습니다.
제가 원하는 출력 결과는
코드 / 이름 / 현금(입금) / 출금(현금 사용분) / 출금(카드사용분)
이런식으로 할려고 하는겁니다.
꼭좀 부탁 드리겠습니다.
수고하세요...^^
select H.tcode,
H.tname,
sum(A.tmoney) as cash,
sum(B.tmoney) as chulgo,
sum(C.tmoney) as card
from thome H,
thome A,
thome B,
thome C
where A.tgubun = 3 // 현금 입금 구분 //
and B.tgubun = 1 // 현금 출금 구분 //
and C.tgubun = 2 // 카드 출금 부분 //
and (A.tmoney + B.tmoney <> C.tmoney) <> 0
and H.tgubun in (1, 2, 3) // 현금입금/카드출금/ 현금 출금 포함 //
Group by H.tcode, H.tname
【 THOME.DB/ 테이블 구조 】
=======================================
1 10 TAUTO
2 String 5 TCODE
3 String 20 TNAME
4 Integer 10 TDATE
5 Integer 10 TGUBUN
6 Float 10 TIPGUM
7 Float 10 TMONEY
8 Float 10 TCASH
9 Float 10 TCARD
10 String 100 TETC
11 Float 10 TETC01
12 String 50 TETC02
=======================================
따로 따로 쿼리를 때려보심이 어떨런지요 ^^;;
코드 / 이름 / 현금(입금) / 출금(현금 사용분) / 출금(카드사용분)
Select tcode, tname, // 코드 / 이름
sum(scash) as cash, // 현금(입금)
sum(schulgo) as chulgo, // 출금(현금 사용분)
sum(scard) as card // 출금(카드 사용분)
from (select tcode, tname,
sum(tmoney) as scash,
0.0 as schulgo,
0.0, as scard
from thome
where tgubun = 3 // 현금 입금 구분
union all
select tcode, tname,
0,0 as scash,
sum(tmoney) as schulgo,
0.0, as scard
from thome
where tgubun = 1 // 현금 출금 구분
union all
select tcode, tname,
0,0 as scash,
0.0 as schulgo,
sum(tmoney) as scard
from thome
where tgubun = 2 // 카드 출금 구분
)
Group by tcode, tname
이렇게 쓰면 되지 않을까하는 ^^;;
이 두가지는 뭔지 잘 몰라서...^^;;
고럼 즐코하세요~~