UNPIVOT显示列名称

时间:2016-07-20 15:28:51

标签: sql tsql

为使用设计糟糕且过时的SQL数据库的人创建报告。

我的代码目前正在

SELECT B@, PolRef@ , [Document Status]
FROM
(
  SELECT chas.B@, chas.PolRef@, chas.P_asdecl, chas.P_gap, chas.P_acl
  FROM dbo.ic_BD_CHAS chas
) AS chas
UNPIVOT 
(
  [Document Status] FOR DocStatus IN (P_asdecl, P_gap, P_acl)
) AS up;

所有3列" chas.P_asdecl,chas.P_gap,chas.P_acl"显示相同的信息“不需要”'或者'杰出'。我的输出目前是:

B@          PolRef@    Document Status
----------- ---------- ---------------
0           AACX02PC01 Not Required
0           AACX02PC01 Not Required

这里的问题是我没有想到那些2列返回了哪一列'不需要'行与...有关。如何添加另一个列,这些列与这些值来自哪个列,所以基本上我的输出将是:

B@          PolRef@    Column     Document Status
----------- ---------- --------   ---------------
0           AACX02PC01 P_asdecl   Not Required
0           AACX02PC01 P_gap      Not Required

干杯

1 个答案:

答案 0 :(得分:1)

将您的第一行查询更改为:

SELECT B@, PolRef@ , DocStatus, [Document Status]