전형적인 문과생인데ㅠㅠ 업무상 어쩔수없이 sql 을 독학하고 있는 1인 입니다..
어떻게 질문할지도 모르겠는데요ㅠㅠ
특정한 조건으로 네이밍 한 다음 그 네이밍 의 sum 값이 나오길 원하거든요
예를들몈
상품 구분 매출
빵 aa. 03
빵 bb. 02
떡 aa 04
이렇게 만들고 싶어 아래와 같이 만들어 보았는데
select
name as '상품'
(Case when convert(int,substring(number,9,2))%7 =5 THEN 'AA'WHEN convert(int,substring(number,9,2))%7=6 then 'AA' else 'BB' END)
SUM(xxx)' as '매출'
(생략)
group by
Case when convert(int,substring(number,9,2))%7 =5 THEN 'AA'WHEN convert(int,substring(number,9,2))%7=6 then 'AA' else 'BB' END) , number
, name
이렇게 하면 sum 값이 아니라 모든 행에 구분값만 추가되서 나오네요
빵 aa 01
빵 aa 02
빵 bb 01
빵 bb 01
떡 aa 01
떡 aa 03
어떻게 해여할까요?ㅜㅜ부탁드려요.. 오늘 일도못하고 해멨네요..
Comment 1
-
ilovejsp
2016.04.12 10:06
아마이게 원래스키마였고 원본데이터였다면
/****** SSMS의 SelectTopNRows 명령 스크립트 ******/
SELECT TOP 1000 [name]
,[type]
,[sale]
FROM [sqler].[dbo].[CASEWHEN]
name type sale
빵 aa 01
빵 aa 02
빵 aa 03
빵 aa 04
빵 aa 05
빵 bb 01
빵 bb 02
빵 bb 04
떡 aa 04
떡 aa 05
떡 aa 06
떡 bb 10
이렇게검색하면 결과값이나옵니다
SELECT TOP 1000 [name]
,[type]
,sum(convert(int,sale)) as 'sum'
FROM [sqler].[dbo].[CASEWHEN]
GROUP BY name,type
name type sum
떡 aa 15
빵 aa 15
떡 bb 10
빵 bb 7
만약이게아니라면 댓글달아주세용~