如何从值列表中创建列

时间:2017-10-28 15:34:53

标签: sql

我有以下数据:

Table 1
Row   ID     Value        Cost
1     1      Priority 1   10,000
2     2      Priority 2   9,000
3     3      Priority 3   8,000
4     4      Priority 4   6,000

Table 2
Row   Name    Priority   Cost
1     Jon     1          10,000
2     Bob     3          8,000
3     Dan     4          7,000
4     Steve   2          9,000
5     Bill    3          8,000
...

我希望桌子看起来像这样:

Table 3
Row  Name     Priotity 1     Priority 2     Priority 3     Priority 4
1    Jon      10,000
2    Bob                                    8,000
3    Dan                                                   7,000
4    Steve                   9,000
5    Bill                                   8,000
...

如何从表1创建行作为列,并填写输出,如表3所示。

我希望这不像听起来那么基本,但我的SQL太糟糕了!

2 个答案:

答案 0 :(得分:0)

您可以尝试使用动态数据透视表。

system()

以下是详细信息http://www.tsqltutorials.com/pivot.php

的链接

答案 1 :(得分:0)

Pivot在这种情况下总是很有用,但是如果实际数据就像它有问题一样简单(就像只有4个唯一Priority和/或只有{ {1}}优先级分配给特定用户),然后您可以使用以下查询来完成此任务:

1