带有Join的SQL Server 2012 Dynamic Pivot

时间:2015-01-08 15:50:21

标签: sql sql-server tsql sql-server-2012 pivot

我希望将两个表中的键值对转换为一个旋转视图。在下面的示例中,我将显示数据表中的5个密钥记录及其值。事实上,我确实有超过600条密钥记录,并且需要从定义表中的某些密钥字段创建各种视图和报告,因此我将扩展我可以在此处获得的更复杂查询的任何答案。但是现在,我只需要显示数据。

我有以下数据:

OrderDefinition表:

OrderDefsID   OrderDefName
--------------------------------------
1             diam_aim
2             len_aim
3             len_htol
4             len_ltol
5             wgt_aim

OrderData表:

OrderHeaderID   OrderDefID  OrderDefValue
---------------------------------------------------
1               1           13.000
1               2           8.00
1               3           8.84
1               4           8.44
1               5           3611
2               1           13.000
2               2           7.98
2               3           8.43
2               4           7.32
2               5           3601
3               1           10.000
3               2           7.93
3               3           8.03
3               4           4.48
3               5           2115

我希望看到的是:

OrderHeaderID   diam_aim   len_aim   len_htol   len_ltol   wgt_aim
--------------------------------------------------------------------------
1               13.000     8.00      8.84       8.44       3611
2               13.000     7.98      8.43       7.32       3601
3               10.000     7.93      8.03       4.48       2115

我已经四处寻找可以学习的示例,但我发现很少包含连接的动态示例。我根本不想做任何数学运算,只需通过旋转数据显示数据并按OrderHeaderID列出键值对。

我认为这需要一个Pivot,但如果有人知道另一种方法,我很乐意学习它。

0 个答案:

没有答案