1
我有这个在我的表的SQL Server 2012:合并两行成一排
ID Routing
01 WFM
01 ESCALATE
02 WFM
02 ESCALATE
而且我想显示(SQL SELECT查询),以类似下面
ID Routing1 Routing2
01 WFM ESCALATE
02 WFM ESCALATE
我有这个在我的表的SQL Server 2012:合并两行成一排
ID Routing
01 WFM
01 ESCALATE
02 WFM
02 ESCALATE
而且我想显示(SQL SELECT查询),以类似下面
ID Routing1 Routing2
01 WFM ESCALATE
02 WFM ESCALATE
select a.id,a.routing as routing1,b.routing as routing2
from table1 as a join table1 as b
on
a.id=b.id
这可以是您的基本查询。
为了达到你的效果。你可以使用类似的东西。
select id,routing1,routing2
from (select a.id,a.routing as routing1,b.routing as routing2
from table1 as a join table1 as b
on
a.id=b.id)
where routing1 != routing2;
我想你可以只添加a.routing!= b.routing的基本查询,而不是与第二个查询
select id, max(routing) as routing1,
(select min(routing) from route r2 where r2.id = r1.id) as routing2
from route r1
group by id
这完美的作品,成交只有当你有2条记录与此相同。
听起来像一个'PIVOT'(但不完全)的情况。一个更大的示例表格可以帮助更清晰地理解所需变换的逻辑。 – stakx
我认为你可以执行一个自我加入,然后过滤它以得到结果 –