database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 4199 게시물 읽기
No. 4199
서브쿼리내에서 그룹핑 후 그룹에 값이 없을 경우..ㅠ.ㅠ
작성자
김경호(ayukawa777)
작성일
2008-05-10 23:58ⓒ
2008-05-11 00:00ⓜ
조회수
4,491

안녕하세요??


궁금한점이 있어서 이렇게 글을 적어 봅니다.


일단 질문용 쿼리입니다.


SELECT A.XX + B.XX + C.XX FROM 


( SELECT CODE, COUNT(*) AS XX

   FROM  XXX

 GROUP BY CODE ) A,


( SELECT CODE, COUNT(*) AS XX

   FROM  YYY

 GROUP BY CODE ) B,


( SELECT CODE, COUNT(*)AS XX

   FROM  ZZZ

 GROUP BY CODE ) C


WHERE A.CODE = B.CODE


    AND A.CODE = C.CODE


위와 같이 쿼리문을 작성하였습니다. 그런데 문제는 A, B, C테이블의


데이터 중 같은 CODE값이 없으면 ( 3개의 테이블 중 로우가 한개도 없는 테이블이 있으면 )


상위 쿼리에서 WHERE절 조인이 안되어 결과 값이 0나 NULL 아닌 로우자체가 없이 0로우로 


나오는데요. 이부분을 로우로 나올수 있도록 할 방법이 없을까요??


예를들어 A, B테이블에 데이터가 있는데도 C테이블의 데이터가 없어 조인이 되지 않아


결과값이 비정상적으로 도출되는데...


고수님들의 고견 부탁 드립니다. 미리 감사 드리겠습니다. ^^.

이 글에 대한 댓글이 총 2건 있습니다.

code가 정리되어 있는 테이블을 
tb_code라고 하면 

select count(a_code) + count(b_code) + count(c_code)
from
(
select code
, a_code = a.code
, b_code = b.code
, c_code = c.code
from
 tb_code z
 left outer join xxx  a
 on z.code = a.code
 left outer join yyy b
 on z.code = b.code
 left outer join zzz c
 on z.code = c.code
) q

.님이 2008-05-12 12:45에 작성한 댓글입니다. Edit

늦었지만 감사드립니다. ^^

김경호(ayukawa777)님이 2008-06-06 00:42에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
4202Primary Key 에 의해 생성되는 index 에 대해... [1]
최석철
2008-05-13
4350
4201각각 db명이 다른 두 테이블간에 [1]
이호영
2008-05-13
3987
4200full백업 복원시 다음과 같은 에러가 발생하네요..
량디
2008-05-13
4613
4199서브쿼리내에서 그룹핑 후 그룹에 값이 없을 경우..ㅠ.ㅠ [2]
김경호
2008-05-10
4491
4198ms-sql 패키지 관련 급 질문~ [1]
런던
2008-04-30
3796
4197RESTORE FILELISTONLY 에러문구.. [1]
강민석
2008-04-30
7676
4196Cross Join에서 Group을 어떻게 쓰는지... [1]
이만실
2008-04-29
4598
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다