我有这个查询
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()))
返回与此类似的结果
我需要获取黄色突出显示的记录,这样我得到的结果将返回带有im_Call编号的1行,IM_DR列显示两个突出显示的记录为1行,有2列,如下所示
im_Call IM_DR
163220023 160104238, 160104238
答案 0 :(得分:1)
也许这可以帮助
编辑 - 添加了CTE以保持原始查询的范围
;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
答案 1 :(得分:1)
您需要使用For xml path和Stuff函数进行操作。
;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