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 29444 게시물 읽기
No. 29444
[표준 SQL] 쿼리 시 없는 등급을 SELECT 하는 방법 구함.
작성자
SQL
작성일
2009-12-03 10:06
조회수
6,215

현재 쿼리 결과가

 등급            CNT1    CNT2  

 ---------------  -----  -----

 3등급              1      0     


뿐입니다.


GROUP BY를 사용했는데요...


보여야 하는것은 

등급            CNT1    CNT2  

 ---------------  -----  ----- 

 1등급            0                0

 2등급          0                0

 3등급          1                0     

 4등급          0                0

 5등급         0                0



1등급부터 5등급까지 없는건  0 0 으로 해서 등급을 뽑아야 하거든요.


특정 함수 안쓰고, 

표준  SQL로 작성 가능할까요?



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

안녕하세요 박성원입니다. 


흠 요즘들어서 쿼리 질문이 많네요 ^^;;


group by에 대한 2차 조건문은 having을 써서 조회 할수 있습니다. 


즉,


select '등급', sum(col1) as CNT1, sum(col2) as CNT2
from talbename
group by '등급'
having CNT1=0 and CNT2=0



이런식으로 하시면 됩니다.

박성원(darkancia)님이 2009-12-03 10:13에 작성한 댓글입니다.

네..그런데 이 쿼리로는 없는 등급을 표현할수 없는거 같은데요?

ㄱㄱ님이 2009-12-03 10:21에 작성한 댓글입니다. Edit

없는 등급이 CNT1과 CNT2의 값이 0인 걸 말씀하신게 아니였나요?


없다는게 어떤 의미 인지 말씀해주세요 ^^

박성원(darkancia)님이 2009-12-03 10:25에 작성한 댓글입니다.

아네..

아예 등급, CNT1, CNT2가 없는거에요.

WHERE 조건 없이 쿼리한 결과가 
등급            CNT1    CNT2  

 ---------------  -----  -----

 3등급              1      0     
이라서요.

화면엔 5등급까지 보여줘야하는데, 없으니까...
없는걸 쿼리결과로 만들어서 

 2등급          0                0

 3등급          1                0     

 4등급          0                0

 5등급         0                0
이걸 가짜로 만들어여 SELECT 결과에 추가하려구요....

44님이 2009-12-03 10:28에 작성한 댓글입니다. Edit
SELECT 
    c.classname, 
    IFNULL( SUM( cc.cnt1 ) , 0 ) AS CNT1, 
    IFNULL( SUM( cc.cnt2 ) , 0 ) AS CNT2
FROM `class` AS c
LEFT JOIN `classcnt` AS cc ON c.`classname` = cc.`classname`
GROUP BY c.classname



테이블 구조는 아래와 같습니다.


TABLE class
classname
등급1
등급2
등급3
등급4
등급5

TABLE classcnt
classname CNT1 CNT2
등급3 1 0
박현우(lqez)님이 2009-12-03 14:56에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29448날짜별 재료별 묶기 [1]
질문
2009-12-03
6289
29447mysql Query Cache에 대해서 질문드립니다. [2]
초보
2009-12-03
6313
29445sql로 가능한지 조언좀해주세요 [2]
서홍주
2009-12-03
6519
29444[표준 SQL] 쿼리 시 없는 등급을 SELECT 하는 방법 구함. [5]
SQL
2009-12-03
6215
29443쿼리 질문!! [2]
신철화
2009-12-03
5537
29442날짜별 찾기 [1]
우왕!
2009-12-01
6671
29441Oracle의 소스를 mysql로 실행가능하도록 변경해주세요 ㅠ
궁금
2009-11-30
5418
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다