假設我有 2 張桌子,campaign并且mission,其中每個任務僅與一個活動相關聯。
然后對于每個活動,我可以定義許多額外的屬性,每個屬性只鏈接到一個活動。
例如,campaign1將有一個額外的屬性attr1,campaign2將有另一個但同名attr1,并campaign3有不同的屬性attr3。
對于每個任務,我可以為她的戰役的每個額外屬性添加一個額外的值。
當我檢索資料時,我希望在列中包含任務 ID,但還需要基于我的查詢的活動屬性的最大值(如果一個活動有過濾器,則為一個,如果有更多,則為多個)。因此,列中的campaignAttr 標簽包含行中的missionAttr 值。
我讀了一些關于 pivot 的文章,但我不確定它在這里是否有幫助......甚至不確定這是否可能,所以如果有人知道如何實作這一點,我會非常優雅:)
結構和資料示例:
我想實作這一點,以便能夠在前端顯示此表,并讓用戶按活動額外屬性進行排序和過濾。
uj5u.com熱心網友回復:
這有幫助嗎:
SELECT MissionID, CampaignId, Attr1, Attr2, Attr3
FROM
(SELECT MissionID, CampaignId, Label, Value FROM MissionAttr m
JOIN CampaignAttr c ON m.CampaignAttrid = c.id) AS Source
PIVOT(
MAX(Value)
for Label IN (Attr1, Attr2, Attr3)
)AS pivottable;
分貝小提琴
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/507042.html
上一篇:多用戶更新
