我試圖做一個PIVOT桌子上有兩行是這樣的:SQL樞軸只有兩列
Category | Sector
---------------------------
Bulbs | DIY
Bulbs | Home
Picnic blanket | DIY
Picnic blanket | Home
Picnic blanket | Interior
每個類別可以有1個或多個部門。
我想要得到這樣一個表:
Category | Sector 1 | Sector 2 | Sector 3
-------------------------------------------------
Bulbs | DIY | Home | NULL
Picnic blanket | DIY | Home | Interior
查詢看起來是這樣的:
SELECT
dbo.fn_DbContent_GetTranslation(pt.Name_DbContentId, 2) 'Category'
, dbo.fn_DbContent_GetTranslation(s.Name_DbContentId, 2) 'Sector'
FROM dbo.ProductType pt
JOIN dbo.ProductTypeMandator ptm ON ptm.ProductTypeId = pt.Id
JOIN dbo.ProductTypeMandator2PortalSector ptmps ON ptmps.ProductTypeMandatorId = ptm.Id
JOIN dbo.PortalSector ps ON ps.Id = ptmps.PortalSectorId
JOIN dbo.Sector s ON s.Id = ps.SectorId
WHERE
ptmps.PortalSectorId IN (21, 18, 19)
我已經做了PIVOT但包含三列,其中一個包含的表數據透視表中標題的值。在這種情況下,標題的值已丟失,所以我不知道如何去做。
感謝您的幫助
您想要顯示的扇區數量和/或數量是否有限制?任何單獨的查詢都有一個固定的「形狀」(列的數量,名稱和數據類型),所以如果您需要支持無限數量,那麼您正在查看動態SQL來構建查詢。 –
你是怎麼得到這個訂單的?扇區1,扇區2 ..? –