我有一個要求寫一個SQL Server查詢從一個表中讀取,讓我們假設表名爲表1,結構和行是這樣的:SQL查詢到兩行合併爲一個作爲結果
關鍵是如果列RefID有值,例如,第2行的RefID值爲3,它引用另一行的ID(第3行),並且第3行還必須具有非空RefID且值必須成爲第一個的ID。這個想法是這兩個屬於同一個對象,所以我想把它們作爲一個結果行。
我知道我可以做內部連接在同一個表是這樣的:
select T1.*, T2.* from Table1 T1 inner join Table1 T2 on T1.RefID = T2.ID
where T1.ID is not null
但事實是,結果有冗餘:結果將有4行,正如我提到的,由於行2和行3一起代表一個對象,我只想得到2行:一行2行3,另一行4行5.我該怎麼做?
如何在一行中選擇兩行2和3?你想使用什麼樣的聚合函數?請爲您發佈的樣本數據的兩行粘貼所需的數據,這將解釋您想獲得什麼。 – 2014-09-11 07:24:47