2017-02-22 2 views
0

표 1은 열 날짜 값을 가지고 표 2는 monthnumber, MONTHNAME (수와 월을위한 즉, 1-12 - 진수)가 샘플 데이터달에 가입

| 표 1 |

|ColDate | value| 
|1-nov-2016 | 6| 

예상 출력 내가 표 1과 표 2 사이에 cross join를 사용하지만

1-nov-2016 | 6 | Nov | 11 
1-nov-2016 | 6 | Dec |12 
과 같은 출력을 제공

11월

를 제외한 다른 모든 개월

ColDate | value | month | monthnumber 
1-nov-2016 | 6 | Nov | 11 
1-nov-2016 | 0 | Dec |12 

..... 0

..... 나머지 월별로는 6이지만 11 월을 제외한 0이어야합니다.

어떻게하면됩니까?

+1

적절한 형식으로 귀하의 질문을 수정하시기 바랍니다 ... http://stackoverflow.com/editing-help – Darshak

답변

0

이 시도

DECLARE @TB1 TABLE (COLDATE VARCHAR(20),VALUE INT) 
INSERT INTO @TB1 
SELECT '1-NOV-2016',6 

DECLARE @TB2 TABLE(MONTH VARCHAR(10),MONTHNUMBER INT) 
INSERT INTO @TB2 
SELECT 'NOV',11 
UNION ALL 
SELECT 'DEC',12 

SELECT COLDATE 
     ,CASE WHEN MONTHNUMBER=11 THEN VALUE ELSE 0 END VALUE 
     ,MONTH 
     ,MONTHNUMBER 
FROM @TB1 
CROSS JOIN @TB2 

결과 :

enter image description here