데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
표1
하이마트 |
냉장고 |
20150233 |
20161212 |
전자랜드 |
전자렌지 |
20140211 |
20160712 |
표2
하이마트 |
냉장고 |
20150233 |
20151231 |
하이마트 |
냉장고 |
20160101 |
20161212 |
전자랜드 |
전자렌지 |
20140211 |
20141231 |
전자랜드 |
전자렌지 |
20150101 |
20151231 |
전자랜드 |
전자렌지 |
20160101 |
20160712 |
표1의 데이터를
표 2형식으로 셀렉트 하고 싶습니다.
도움 바랍니다 ㅠㅠ
Comment 4
-
나는짱이야
2016.03.12 08:46
-
항해자™
2016.03.12 12:45
;with cteSample (cStore,cProduct,cStart,cLimit) as ( select N'하이마트',N'냉장고',20150233,20161212 union all select N'전자랜드',N'전자렌지',20140211,20160712 ) ,cteYearList as ( select '2014' as cYear union all select '2015' union all select '2016' ) select a.cStore , a.cProduct , a.cStart , a.cLimit , case left(cStart,4) when b.cYear then cStart else b.cYear +'0101' end as cStart2 , case left(cLimit,4) when b.cYear then cLimit else b.cYear +'1231' end as cLimit2 , b.cYear from cteSample as a left outer join cteYearList as b on b.cYear between left(cStart,4) and left(cLimit,4) go
-
아싸라비아콜롬비아
2016.03.14 00:38
우와 감사 합니다.
그런데 한가지 더 부탁드려도 될까요
이건 년으로 쪼갠건데 달로 쪼개는 것도 가능할까요???
원래 달로 쪼개는것이 필요한것인데 하나씩 쪼개서 해보느라고 안되어서 년으로 쪼개는거 부터 하려고 한건데요....
굽신굽신...
이것만 해도 너무너무 감사합니다.
-
건우아빠
2016.03.14 12:25
cteYearList 와 달 테이블을 조합 한다음 처리하시면 됩니다.
group by 구문 쓰는거 되는거 아닌가요?