아래처럼 쿼리문을 작성해서 실행을 하면 엉뚱한 자료만 갖고옵니다.
파라독스의 문제인지 아니면 제가 쿼리문을 잘못 작성한건지 모르겠습니다.
제가 원하는 출력 결과는
코드 / 이름 / 현금(입금) / 출금(현금 사용분) / 출금(카드사용분)
이런식으로 할려고 하는겁니다.
꼭좀 부탁 드리겠습니다.
수고하세요...^^
 
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
이렇게 쓰면 되지 않을까하는 ^^;;
이 두가지는 뭔지 잘 몰라서...^^;;
고럼 즐코하세요~~