Q&A

  • MSSQL데이타베이스
저가 사용하는 쿼리문입니다.
데이타베이스 고수님 도움부탁드려요..

사용환경은 운영체제는 윈도우98
                 데이타베이스는 MSSQL7.O
                 프로그래밍언어는 델파이버전 6.0
입니다

아래의 내용을 쿼리분석기에서 호출하면 NULL값이 나오는 필드가 많구요
정작 값이 있는 데 NULL값이 나오는 경우가 있습니다
먼저 0..의값이 존재하지 않을 경우 NULL인 경우 0으로 표현하고 싶구
그리고 1..과 2..의 차를 구하고 싶은데 그값도한 NUL이 아닌데
즉 값이 존재하는데 NULL값으로 나옵니다

무엇이 잘못인지 도와주세요 부탁드려요
사실 좀급하거든오 저생각에는 이쿼리를 뷰로 생성하여 호출하면 그1..과 2..의 차도 구할수 있을것 같은데 가능하면 뷰생성을 하지 않고 생성하는 방법을 부탁드립니다.


/============================.==========
.==========
.==========
.==========
use forsale
SELECT B.COMPCODE, B.COMPNAME, B.COMPTEL, B.DAMDANG, B.DAMTEL, B.BASEMISU, B.COMPMISU,
Sum(CASE CHKIO WHEN '입고' THEN ISNULL(MSUM,0) ELSE  CASE CHKIO WHEN '반입' THEN ISNULL(MSUM,0) END END) AS A1,<----------------0..
Sum(CASE CHKIO WHEN '출고' THEN ISNULL(MSUM,0) ELSE  CASE CHKIO WHEN '반출' THEN ISNULL(MSUM,0) END END) AS A2,
SUM(CASE WHEN CHKIO = '입금' THEN ISNULL(MSUM,0) END) AS AA1, <----------------1..
SUM(CASE WHEN CHKIO = '출금' THEN ISNULL(MSUM,0) END) AS AA2,<----------------2..
(  (  SUM(CASE WHEN CHKIO = '입고' THEN ISNULL(MSUM,0) END)
    + SUM(CASE WHEN CHKIO = '반입' THEN ISNULL(MSUM,0) END)
    + SUM(CASE WHEN CHKIO = '출금' THEN ISNULL(MSUM,0) END))
- (  SUM(CASE WHEN CHKIO = '출고' THEN ISNULL(MSUM,0) END)
    + SUM(CASE WHEN CHKIO = '반출' THEN ISNULL(MSUM,0) END)
    + SUM(CASE WHEN CHKIO = '입금' THEN ISNULL(MSUM,0) END)) ) AS AA<----------------3..

((SUM(CASE WHEN CHKIO = '입고' THEN ISNULL(MSUM,0) END) + SUM(CASE WHEN CHKIO = '반입' THEN ISNULL(MSUM,0) END) + SUM(CASE WHEN CHKIO = '출금' THEN ISNULL(MSUM,0) END))
- (SUM(CASE WHEN CHKIO = '출고' THEN ISNULL(MSUM,0) END) + SUM(CASE WHEN CHKIO = '반출' THEN ISNULL(MSUM,0) END) + SUM(CASE WHEN CHKIO = '입금' THEN ISNULL(MSUM,0) END))) AS AAA
FROM TFLOWMAIN A, TCODCOMP B
where A.COMPCODE = B.COMPCODE
GROUP BY B.COMPCODE, B.COMPNAME, B.COMPTEL, B.DAMDANG, B.DAMTEL, B.BASEMISU, B.COMPMISU
1  COMMENTS
  • Profile
    깨구락지 2002.07.13 22:13
    coalesce(expression [,...n])
    책에는 이렇게 되어 있군요.
    select (필드1,0) : 필드1이 null이면 0을 리턴합니다.