Sql-Server
根據表 A 在其行中的值將表 A 中的值插入或更新到表 B 的列中?
我有一個表,其中包含具有值的屬性名稱,但每一行都是具有其值的屬性,
所以我創建了另一個表,其中包含所有可能的屬性名稱以將其展平,以便每一行都包含每個項目的所有值。
如何獲取第一個表並將每個給定 itemId 的數據插入到相應列下的上表中?
我還需要考慮有超過一百個不同的屬性名稱,並不是所有的項目都會有每個屬性或值。我不確定我應該向哪個方向解決這個問題。
select itemid, MAX(case when itemattributename ='Application' then itemattributevalue ELSE NULL END), MAX(case when itemattributename ='Color' then itemattributevalue ELSE NULL END)Color, ISNULL(MAX(case when itemattributename ='Environmental Conditions' then itemattributevalue ELSE NULL END),'')[Environmental Conditions], MAX(case when itemattributename ='Material' then itemattributevalue ELSE NULL END)Material from item group by itemid
上述解決方案僅在您有一定數量的屬性時才有效,如果有 N 個屬性,您應該為此使用動態樞軸