mysql 쿼리 질문있습니다. 0 2 566

by 밍밍밍밍 [2017.10.16 14:31:56]


TABLE1

C_NO SUB
100 테스트1

 

TABLE2

NO C_NO CATE CNT
1 100 A 2
2 100 B 3
3 100 C 4

 

1,2 테이블을 아래표처럼 select 하고싶습니다.

C_NO SUB CATE1 CNT1 CATE2 CNT2
100 테스트1 A,B 5 C 4

 

CNT1 경우 A+B 합이고

CNT2 경우 C값입니다.

CATE1, CATE2값은 select 안해도되고 CNT값만 select 해도됩니다.

 

아래 쿼리문으로 테스트해보다가 잘안되서 조언좀 부탁드리겠습니다.

 

SELECT
				A.C_NO,
       	 		CASE
            WHEN B.CATE = 'A' OR B.CATE = 'B' THEN
            Group_Concat(B.CATE ORDER BY B.C_NO)
            END CATE1,
            CASE
            WHEN B.CATE = 'A' OR B.CATE = 'B' THEN
            SUM(B.CNT)
            END CNT1,
            CASE
            WHEN B.CATE = 'C' THEN
            Group_Concat(B.CATE ORDER BY B.C_NO)
            END CATE2,
            CASE
            WHEN B.CATE = 'C' THEN
            SUM(B.CNT)
            END CNT2
			FROM
				TABLE1 A,
        TABLE2 B
			WHERE 1=1
      AND A.C_NO = B.C_NO
      GROUP BY A.C_NO

 

by 마농 [2017.10.16 15:45:33]

CASE ~ THEN SUM END 하셨네요? 순서가 바뀌었네요.
SUM(CASE ~ END) 하셔야 합니다.
GROUP_CONCAT 도 마찬가지.


by 밍밍밍밍 [2017.10.16 16:22:01]

아..순서가 바뀌었었네요 ㅡㅡ

 

해결했습니다 답변감사드립니다 ㅎ

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입