查詢一號至三號,張三的收入,效果如圖一

uj5u.com熱心網友回復:
--測驗資料
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([姓名] nvarchar(22),[日期] Date,[收入] int)
Insert #T
select N'張三','2019-1-1',500 union all
select N'張三','2019-1-2',400 union all
select N'張三','2019-1-3',300 union all
select N'張三','2019-1-4',500 union all
select N'張三','2019-1-5',500 union all
select N'張三','2019-1-6',600
Go
--測驗資料結束
DECLARE @sql VARCHAR(MAX)
SET @sql = 'select [姓名]'
SELECT @sql = @sql + ',sum(case [日期] when ''' + RTRIM(日期)
+ ''' then [收入] else 0 end)[' + RTRIM(日期) + ']'
FROM ( SELECT DISTINCT
日期
FROM #T WHERE 日期 BETWEEN '2019-1-1' AND '2019-1-3'
) a
SET @sql = @sql
+ ',sum([收入]) 小計 from #T WHERE 日期 BETWEEN ''2019-1-1'' AND ''2019-1-3'' group by [姓名]'
EXEC(@sql)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/123663.html
標籤:疑難問題
上一篇:大神們求教
下一篇:行轉列
