【发布时间】:2019-07-11 05:42:11
【问题描述】:
T-SQL,在透视时需要帮助在列中组合 2 个值。
我有一个包含以下数据的 Employee 表 -
EmpId Status L#
E1 A 1
E1 B 1
E2 A 2
E2 B 2
E3 B 3
E3 C 3
E3 D 3
和一个主管表 -
EmpId Sup
E1 S1
E2 S2
E3 S3
当状态为 B 或 C 时,我想合并 L# 的值
EmpId Sup A B,C D
E1 S1 1 1 0
E2 S2 1 2 0
E3 S3 0 2 1
【问题讨论】:
-
您的预期输出显示 5 列,但只有 4 列标题。请修复您的数据。
-
您使用的是哪个数据库? oracle 或 sqlserver
-
谢谢蒂姆。标题已关闭。我离开加入了员工表和主管表。所以 Employee 表中的 4 列和 Supervisor 表中的 1 列(Sup)。
-
@Ajay2707, SQLserver
-
@JHegde 在您的预期结果中,E2->S2->A 的值是
1不应该是2,如果您正在计算,那么值E2->S2->B,C 应该是1而不是2。请澄清
标签: sql sql-server tsql pivot left-join