2
我有一個查詢如何顯示動態列使用數據透視表
declare @Leavetype varchar (Max)
select @Leavetype =(select LeaveName from LeaveType)
SELECT *
FROM
(SELECT e.EmpID,
e.EmpName ,
s.LeaveName,
case when l.Approval = 'Approved'
then l.TotalDays
else
0
end AS Total
from EmpInfo e
full JOIN ViewLeave l ON e.EmpID = l.EmpID
LEFT JOIN LeaveType s ON s.LeaveID = l.LeaveID
Where
l.year = '2013'
GROUP BY s.LeaveName,e.EmpID, e.EmpName ,l.Approval,l.TotalDays
)ps
pivot
(
sum(Total)
for LeaveName In ([@LeaveType])
)as pvt
我想利用休假式表動態值Leavetype
LeaveType
表如下
ID Leave type
1 SickLeave
2 Casual Leave
LeaveType
表值可能會有所不同,我必須顯示數據,如
EmpId EmpName SickLeave Casual Leave
101 ramesh 1 0
沒有列取決於Leavetype
表中沒有行的
如果任何人有一個想法,請大家幫我
該電流查詢顯示錯誤
子查詢返回多個1值。當子查詢遵循=,!=,<,< =,>,> =或當子查詢用作表達式時,這是不允許的。
感謝
謝謝你這麼多它真的很有幫助。 – user2516261
這段代碼在sql server上運行正常,但是當我在編碼它的顯示錯誤時使用這個查詢(在創建存儲過程之後)**轉換nvarchar值'** – user2516261
時發生了顛倒失敗你做了任何修改或添加了任何東西'重新處理?如果是這樣,你最好用你在存儲過程中使用的代碼提出另一個問題。你也可以嘗試顯式地將'LeaveName'轉換爲'NVARCHAR(n)'。 –