0
我有一個父表拼合查詢結果是由方列
ID Name
1 abc
2 def
和子表
ID LineId Item
1 1 A001
1 2 A002
2 1 B001
2 2 B002
子表中的ID是從父表的外鍵是行到邊並且ID和LineId都構成子表中的主鍵。
我想基於來自父和子表「ID」來產生與具有相同的外鍵變爲列從子錶行,像這樣的扁平結果加入這兩個表:
ID Name Item1 Item2 .....
1 abc A001 A002
2 def B001 B002
最大LineID 2? 'MAX(案例當LineID = 1 THEN Item)Item1,MAX(案例當LineID = 2 THEN Item)Item2',按ID和名稱分組。有關更多信息,請使用案例聚合搜索組。 – ZLK
LineId只是特定ID的每個條目的關鍵。它的最大值不是2,如果有超過2個條目的ID(外鍵) – Harrobbed
我可以問最大數是2,因爲這只是簡單的'MAX(CASE ...'查詢。例如'Select P.ID,P.Name,MAX(CASE WHEN LineID = 1 THEN Item)Item1,MAX(CASE WHEN LineID = 2 THEN Item)Item2 FROM tblParent P JOIN tblChild C ON C.ID = P.ID GROUP BY P.ID,P.Name'。如果LineID可以增長到任意大小,那麼您需要使用動態SQL(基於最大LineID) – ZLK