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
운영게시판
최근게시물
MySQL Q&A 30431 게시물 읽기
No. 30431
Group by 사용시 해당데이터가 없을경우 출력문제 질문드립니다.
작성자
천년둥이
작성일
2012-11-26 18:23:10
조회수
3,647

Group by 사용시 해당데이터가 없을경우 출력문제 질문드립니다.

SELECT Kind, Count(Num) AS Cnt FROM Spend_tbl
where Tm BETWEEN '2012-11-26 00:00:00' AND '2012-11-26 23:59:59'
And (Kind='CC' or Kind='MI' or Kind='BI' or Kind='BC' or Kind='BM')
Group by Kind Order by Kind

위와 같은 쿼리문에서 Kind 별로 Group by 시켰을 경우 Kind 컬럼중에 데이터가 없을경우 '0' 으로 출력할수 있는 방법이 있는지 궁금합니다.

데이터가 모두 있을경우는 상관이 없는데 데이터가 없을 경우 출력부분에서 테이블의 칸수가 비면서 데이터가 밀려서 출력되는 현상이 발생하기에 문의드립니다.

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

 Kind 들의 값을 보관하는 마스터 테이블이 있다면, 해당 테이블에 Spend_tbl 을 LEFT JOIN 하면 됩니다.

별도 테이블이나 CASE 문을 사용하지 않고 수행하는 방법은 모르겠습니다.

SELECT a.Kind, COUNT(b.Num) AS Cnt 

  FROM Kind_mst AS a LEFT JOIN Spend_Tbl AS b ON a.Kind = b.Kind

예제 링크 : sqlfiddle.com/#!2/b22b1c/4

박현우(lqez)님이 2012-11-27 11:13:36에 작성한 댓글입니다.

LEFT JOIN문 써보십시오.

아주 중요한 구문이죠...

추가로 RIGHT JOIN도 써보십시오

김세연(adoniss)님이 2012-11-27 16:09:02에 작성한 댓글입니다.
이 댓글은 2012-11-27 19:16:54에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
30435mysql 쿼리 실행시 리턴 row수가 적습니다.
설재형
2012-11-30
3133
30434blob 셀렉트시 Lost connection to MySQL 오류 고수님들 도움 부탁드려요..ㅜㅜ
미스트
2012-11-29
3417
30433고수 여러분 mysql 오류좀 봐주세요 ㅠ 급합니다. [1]
황윤윤
2012-11-28
3534
30431Group by 사용시 해당데이터가 없을경우 출력문제 질문드립니다. [2]
천년둥이
2012-11-26
3647
30382검색관련 [1]
공중부
2012-11-22
2818
30381mysql에서 테이블명을 가변(?)적으로 조인하는방법;; 설명이 안되네요ㅠㅠ [2]
이재근
2012-11-22
4530
30362MySQL을대체교체할수있는,오픈소스MariaDB(http://mariadb.org)
마리아DB
2012-11-16
3592
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2017 DSN, All rights reserved.
작업시간: 0.072초, 이곳 서비스는
	PostgreSQL v9.6.3으로 자료를 관리합니다