2016-11-21 5 views
1

Ich habe diese AbfrageSQL Kombinieren doppelte Spalten 1

select im_Call,IM_DR 
from cadw.tiburon.inmast m 
where IM_DATE < Convert(date,GETDATE()) AND IM_DATE >= DATEADD(DD, - 4,Convert(date,GETDATE())) 

, die zu diesem

enter image description here

ich die Aufzeichnungen nehmen müssen ähnliche Ergebnisse zurückgibt, die in gelb highlited sind so erhalte ich Ergebnisse das würde 1 Reihe mit der im_Call Nummer mit der IM_DR Spalte zurückbringen, die beide der hervorgehobenen Aufzeichnungen als 1 Reihe mit 2 Spalten wie diesem zeigt

im_Call  IM_DR 
163220023 160104238, 160104238 
+0

Ich habe das SQL Server-Tag aufgrund der Syntax hinzugefügt. –

Antwort

1

Vielleicht kann dies helfen

Bearbeiten- Added der WAK den Umfang der ursprünglichen Abfrage

;with cte as (
    Select im_Call,IM_DR 
    from cadw.tiburon.inmast m 
    where IM_DATE < Convert(date,GETDATE()) AND IM_DATE >= DATEADD(DD, - 4,Convert(date,GETDATE())) 
) 
Select IM_Call 
     ,IM_DR = (Select Stuff((Select Distinct ',' +cast(IM_DR as varchar(25)) From cte Where IM_Call=A.IM_Call For XML Path ('')),1,1,'')) 
From (Select Distinct IM_Call From cte) A 
+0

Vielen Dank John Cappelletti Ihre Lösung war perfekt – Perry

+0

@Perry Glücklich zu helfen –

1

Sie müssen halten Trick tun mit für die XML-Pfad und Stuff Funktion .

;with cte as (

    select im_Call,IM_DR 
    from cadw.tiburon.inmast m 
    where IM_DATE < Convert(date,GETDATE()) AND 
    IM_DATE >= 
    DATEADD(DD,-4,Convert(date,GETDATE())) 

) 
    Select C1.im_Call , (Select stuff((select 
    distinct ','+cast(C2.IM_DR as varchar(20)) from cte C2 
    where c2.Im_call= C1.Im_call for xml path('')),1,1,'')) 
    as IM_DR 
    from CTE C1 
Verwandte Themen