【发布时间】:2015-11-23 14:38:26
【问题描述】:
我正在努力使用 unpivot 和 pivot 命令,但不能完全正确。 我想使用 Transact SQL 从表 1 转置到表 2:
click here to see my source and destination tables
我怎样才能做到这一点?到目前为止,我得到了这个:
SELECT CASE RIGHT(name, 1) WHEN 'R' THEN CONVERT(nvarchar(6), Q) + 'R'
WHEN 'D' THEN CONVERT(nvarchar(6), Q) + 'D'
ELSE CONVERT(nvarchar(6), Q) + 'A' END AS Q1,
value, name
FROM (SELECT Q, a1VAT, b1VAT, c1VAT, a1VATR, b1VATR, c1VATR, a1VATD, b1VATD, c1VATD
FROM vw_VAT) src
unpivot (value FOR name IN (a1VAT, b1VAT, c1VAT, a1VATR, b1VATR, c1VATR, a1VATD, b1VATD, c1VATD)) sel
pivot ???
但是我无法正确使用 pivot 命令。 有人可以帮帮我吗?
BR,emphyrio
【问题讨论】:
-
请至少以文本而不是图片的形式创建您的示例,如果您需要更快的帮助,请在 SQL Fiddle 中创建一个示例。
-
我自己解决了这个难题,使用这个 T-SQL:
标签: sql-server pivot transpose unpivot