0
I have two tables. First is ItemDetails and second is ItemHeaders.
ItemHeaders:
ItemID ItemName
1 Apple
2 Orange
3 Grapes
ItemDetails:
ID ItemHeader1 ItemHeader2 ItemHeader3
1 1 2 1
2 3 2 1
3 2 1 2
4 2 3 3
OutPut:
ID Categroy1 Categroy2 Category3
1 Apple Orange Apple
2 Grapes Orange Apple
3 Orange Apple Orange
4 Orange Grapes Grapes
My Query:
Select ID, i1.ItemName as Categroy1, i2.ItemName as Categroy2, i3.ItemName as Categroy3
From ItemDetails d
Left Join ItemHeaders i1 on d.ItemHeader1 = i1.ItemID
Left Join ItemHeaders i2 on d.ItemHeader2 = i2.ItemID
Left Join ItemHeaders i3 on d.ItemHeader3 = i3.ItemID
問題:這是示例數據,我在ItemDetails中有50,000條記錄。當我運行我的查詢時,需要很多時間。有人可以建議優化查詢或最佳選擇來達到上述結果嗎?如果問題或疑問不明確,請讓我知道。將垂直值映射到SQL Server中的水平行
編輯: ItemID上有一個索引。你說過樞軸。我如何使用數據透視表來獲得我的結果?而且還有10個頭,而不是3.這裏我只提到3.
你有'ItemID'字段的indexe嗎? – valex
是3的標頭的最大數量? – Jayvee