【发布时间】:2017-11-24 23:47:00
【问题描述】:
我有一个像这样的表(Area_Data)...
Area1 Area2 Area3
9118890 9228834 9338890
Area1,2,3 是列标题(为了便于讨论,我简化了 Area_Data 表,但它有 12 个区域列)
然后我有另一个像这样的表(Area_Offset)......
Name Offset Zone
P5.3 -4 Area1
P3.3 -4 Area1
P3.4 -4 Area1
P5.4 -4 Area2
P61.1 -9 Area3
P5.1 -4 Area2
P3.1 -4 Area3
我正在尝试创建一个类似的表
Name Offset Zone CalculatedOffset Area
P5.3 -4 Area1 9118886 9118890
P3.3 -4 Area1 9118886 9118890
P3.4 -4 Area1 9118886 9118890
P5.4 -4 Area2 9228830 9228834
P61.1 -9 Area3 9338886 9338890
P5.1 -4 Area2 9228830 9228834
P3.1 -4 Area3 9338886 9338890
(计算的偏移量并不重要,如果我可以将相关的区域数据放入此表中,我想我知道如何创建该列)
我应该怎么做才能做到这一点? 我尝试了 google 让我找到了一些提到 Pivot 的资源 我尝试了这个,但结果并不正确
我尝试的是......
SELECT *
FROM Area_Offset,
Area_Data
PIVOT
(
MAX(Area1)
FOR
Area1 IN (Zone)
) AS p
然后是TSQL Pivot without aggregate function 的讨论,但我无法将它弄得太好。
【问题讨论】:
标签: sql sql-server tsql pivot sql-server-2014