这是我的存储过程查询以获取第一个表中的数据。使用数据透视表将重复的行值隐藏到列中
SELECT [Item] = t3.Item,
[Name] = t2.Name,
[Value] = t1.value
INTO #Result
FROM table1 t1
INNER JOIN table2 t2 ON t2.IsDeleted = 0
INNER JOIN table3 t3 ON t3.IsDeleted = 0 AND t3.Item_ID = @Id
WHERE t1.Item_ID = @Id
GROUP BY
t1.value,
t2.Name,
t3.Item
我在临时表中有以下数据。
| Item | Name | Value |
--------------------------
| item1 | Name 1 | 2 |
| item2 | Name 1 | 4 |
| item3 | Name 1 | 5 |
| item1 | Name 2 | 6 |
| item2 | Name 2 | 3 |
| item3 | Name 2 | 1 |
| item1 | Name 3 | 7 |
| item2 | Name 3 | 4 |
| item3 | Name 3 | 2 |
欲名称1,名称2,名称3作为列和它们的value
靠在相应item.Data在表是dynamic.There可以是任何数量的Items
和任何数量的Name
。对于每个Name
和Item
,它们是可以是单个数字的值。 Items
是相同的每Name
谢谢
我需要像下面的东西。
| Item | Name 1 | Name 2 | Name 3|
------------------------------------
| item1 | 2 | 6 | 7 |
| item2 | 4 | 3 | 4 |
| item3 | 5 | 1 | 2 |
为什么存储过程标记? – jarlh
GROUP BY可以使用。将使用所有的dbms产品。 – jarlh
因为我需要在存储过程中使用它。如果你想我可以发布我的存储过程。 –