2017-02-20 1 views
-1
DECLARE @TABLE TABLE 
(
CustNO VARCHAR (50),  
RelationNo VARCHAR (50),  
POSTCODE VARCHAR (50), 
PHONE001 VARCHAR (50), 
PHONE002 VARCHAR (50), 
PHONE003 VARCHAR (50) 
) 
INSERT @TABLE 

SELECT 'A0002023','N195UN','121408', '02075614860','','' UNION ALL 
SELECT 'A0002023','N195UN','121408', '0207561860','','' UNION ALL 
SELECT 'E3085141','15252','408121', '5566456', '', '' UNION ALL 
SELECT 'E3085141','15252','408121', '256756616', '', '' UNION ALL 
SELECT 'ZBT5489','88888','555555', '6665589', '', '' UNION ALL 
SELECT 'JEZTSUR1','9999','558121', '9986141', '', '' UNION ALL 
SELECT 'JEZTSUR1','9999','558121', '963283', '', '' UNION ALL 
SELECT 'JEZTSUR1','9999','558121', '679971', '', '' 

의 CustNo, RelationNo 및 PHONENUMBER 매치보다둘째 행 번호를 병합

초 광고 병합의 전화 번호를 병합 할 때까지 두 번째 또는 제 제 3 전화 번호 선.

출력

CustNO | Relationnumber|phone001| phone002|phone003 
    A0002023| N195UN| 121408| 02075614860|0207561860|'' 
    E3085141| 15252| 408121| 5566456|256756616|''  
    ZBT5489 | 88888| 555555| 6665589|''|'' 
    JEZTSUR1| 9999| 558121| 9986141|963283| 679971 

답변

0

확인이.

 SELECT distinct 
       m.CustNO 
      , m.RelationNo 
      , m.POSTCODE 
      , PHONE001 = STUFF((
        SELECT ',' + md.PHONE001 
        FROM [email protected] md 
        WHERE m.CustNO = md.CustNO and m.RelationNo = md.RelationNo and m.POSTCODE = md.POSTCODE 
        FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '') 
     FROM [email protected] m 

출력 :

enter image description here

+0

죄송합니다 : 씨 Bhosale : 내 문제는 값이 다음 칼럼 –

+0

에있을 경우 내가 단일 열의 모든 값을하지 않을 것입니다 너의 제안 techie 고맙다 ....... –

+0

5 월 누군가 나를 도와주세요. :) –