我有下表
我需要按Code,DateCod,Room和NumberOfBeds编写查询分组。
对于Name列,我需要连接名称,Booking列的相同操作和Num列我需要求和
结果应为以下
我正在尝试public void Execute(IJobExecutionContext context) {
_grabService.CrawlNextAsync("").Wait();
}
方法,但我找不到解决方案。有人可以建议我这样做吗?
致以最诚挚的问候和感谢 FAB
答案 0 :(得分:1)
您可以STUFF
使用FOR XML PATH('')
来实现此目标。
<强>查询强>
select
t.[Code],
t.[DateCod],
t.[Room],
t.[NrBeds],
stuff((select ',' + t.[Name]
from [your_table_name] t1
where t1.[Code] = t.[Code]
for xml path, type).value('.[1]', 'nvarchar(max)'), 1, 1, '') as [Name],
stuff((select ',' + t.[Booking]
from [your_table_name] t1
where t1.[Code] = t.[Code]
for xml path, type).value('.[1]', 'nvarchar(max)'), 1, 1, '') as [Booking],
sum(t.Num) as [Num]
from [your_table_name] t
group by t.[Code], t.[DateCod], t.[Room], t.[NrBeds];