0
所以我有一個表,其中有一列Name
,和一列Value
和ID
。對於相同的ID
可以有多行。我想創建一個select,它將爲每個ID返回一行,並且Name
列中的值將是列名稱,並且Value
將是值。例如:如何選擇兩列(名稱,值)並將其作爲單一結果返回?
CREATE TABLE dbo.Attribute
(
AttributeID int NOT NULL,
Name varchar(20) NOT NULL,
Value varchar(20) NOT NULL
) ;
數據:
{1,"Color", "Blue"},{1,"Material", "leather"}
想選擇返回:
[AttributeID:1, Color:Blue, Material: leather]
我一直在玩PIVOT
和UNPIVOT
,但沒有得到我需要什麼。
您可能希望對EAV數據庫模型的優缺點進行一些研究。 –
是的尼克!我發現這是優秀的:http://www.sturnus.co.uk/performance/2008-07/the-curse-of-the-name-value-pair/ – n8wrl
特別是缺點(如查詢能力)。這是存儲數據的一種可怕方式。 – HLGEM