我想把我的小腦袋包起來,如何寫這個查詢,我不知所措:
現在的情況是:
。當前:
我希望它看起來是怎樣的:
如果有人能給我指出一個可以幫助我解決這個問題的函式,我將不勝感激。
max(case when ....)和pivot()
這是我在其他文章中發現的,但不能讓它們與我的JOIN一起作業:
SELECT GROUP_ID, ROLE_ID, USER_ID, First_Name, Last_name, Phone
FROM GroupRoles
FULL JOIN 賬戶
ON Account.Account_ID = GroupRoles.User_ID
如果有任何幫助,我將非常感激,至少可以讓我找到正確的方向。
uj5u.com熱心網友回復:
這應該可以了。如果你需要角色的數量是靈活的,那就更復雜了。你需要在一個字串中創建你的sql并使用exec sp_executesql來執行它
select * from
(
select GROUP_ID, 'ROLE_' convert(varchar, ROLE_ID) '_' Keys as Keys, Vals from
(
SELECT GROUP_ID, ROLE_ID, USER_ID, convert(varchar, First_Name) as First_Name, convert(varchar, Last_name) as Last_name, convert(varchar, Phone) as Phone
FROM GroupRoles
FULL JOIN 賬戶
ON Account.Account_ID = GroupRoles.User_ID
) t
帳戶
(
Vals FOR Keys IN
(First_Name, Last_name, Phone)
) AS unpvt
) AS SourceTable
串列中的PIVOT
(
MAX(Vals)
FOR Keys IN (
ROLE_1_First_Name,
ROLE_1_Last_name,
ROLE_1_Phone,
ROLE_2_First_Name,
ROLE_2_Last_name,
ROLE_2_Phone,
ROLE_3_First_Name,
ROLE_3_Last_name,
ROLE_3_Phone,
ROLE_4_First_Name,
ROLE_4_Last_name,
ROLE_4_Phone,
ROLE_5_First_Name,
ROLE_5_Last_name,
ROLE_5_Phone
)
) AS PivotTable
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/320152.html
標籤:
下一篇:vba網路點擊

