如何将水平数据转换为垂直数据并分配值?

时间:2017-09-18 11:30:17

标签: sql sql-server

我有一个包含5列的TR_1表,所有列都包含文本字段。

列标题的结构如下:

Manager  |Customer|Customer-Role|Status |Urgency
John     |X       |Contractor   |Active-|Low
Paul     |Y       |Painter      |Active |High

我想为每个列分配一个帐户值,以便结果如下所示,例如帐户S01代表经理,而帐户S02代表客户:

Account | Text
S01     | John
S01     | Paul
S02     |   X
S02     |   Y

有没有办法做到这一点..我没有帐户表,只想为五列中的每一列分配固定值?

由于

1 个答案:

答案 0 :(得分:0)

你在找这样的东西吗?

select v.*
from t outer apply
     (values ('S01', Manager),
             ('S02', Customer)
     ) v(account, text);