員工姓名 專案類別 完成值 完成率
張三 專案A 50 61%
張三 專案B 60 70%
張三 專案C 70 80%
李四 專案A 55 67%
李四 專案B 45 78%
李四 專案C 76 80%
轉為如下:
姓名 專案A完成值 完成率 專案B完成值 完成率 專案C完成值 完成率
張三 50 61% 60 70% 70 80%
李四 55 67% 45 78% 76 80%
uj5u.com熱心網友回復:
建議樓主提高結帖率--測驗資料
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([員工姓名] nvarchar(22),[專案類別] nvarchar(23),[完成值] nvarchar(23),[完成率] nvarchar(23))
Insert #T
select N'張三',N'專案A',50,N'61%' union all
select N'張三',N'專案B',60,N'70%' union all
select N'張三',N'專案C',70,N'80%' union all
select N'李四',N'專案A',55,N'67%' union all
select N'李四',N'專案B',45,N'78%' union all
select N'李四',N'專案C',76,N'80%'
Go
--測驗資料結束
DECLARE @sql VARCHAR(MAX)
SET @sql = 'select [員工姓名]'
SELECT @sql = @sql + ',max(case [專案類別] when ''' + [專案類別]
+ ''' then [完成值] else null end)[' + [專案類別] + '完成值]'+ ',max(case [專案類別] when ''' + [專案類別]
+ ''' then [完成率] else null end)[' + [專案類別] + '完成率]'
FROM ( SELECT DISTINCT
[專案類別]
FROM #T
) a
SET @sql = @sql
+ ' from #T group by [員工姓名]'
EXEC(@sql)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/103354.html
標籤:基礎類
上一篇:疑難問題來解答。
下一篇:想要逍遙軟體,誰給個連接
