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
我認爲你可以執行一個自我加入,然後過濾它以得到結果 –