我希望有下面爲您協助SQL-選擇1個輸出的行與同一ID
Table A
ID Name Location
A1 John London
A2 Mike London
A3 Adam London
A4 Steve London
A5 James London
Table B
ID TEST Results
A1 TEST1 SATISFACTORY
A1 TEST2 UNSATISFACTORY
A1 TEST3 SATISFACTORY
A2 TEST1 SATISFACTORY
A2 TEST2 UNSATISFACTORY
A2 TEST3 SATISFACTORY
A3 TEST1 SATISFACTORY
A3 TEST2 SATISFACTORY
A4 TEST1 UNSATISFACTORY
A4 TEST2 UNSATISFACTORY
A5 TEST0 NOT TESTED
此刻我的查詢是足夠的信息:
Select Distinct TableA.ID, TableA.Name, TableA.Loacation, TableB.ID,
TableB.Results
Left outer join TableA on TableA.ID = TableB.ID
所以,當我運行此查詢我得到下面的結果
ID NAME ID Results
A1 JOHN A1 SATISFACTORY
A1 JOHN A1 UNSATISFACTORY
A2 MIKE A2 SATISFACTORY
A2 MIKE A2 UNSATISFACTORY
A3 ADAM A3 SATISFACTORY
A4 STEVE A4 UNSATISFACTORY
A5 JAMES A5 NOT TESTED
所以,如果所有的特定ID的測試是令人滿意的(A3),然後我得到1輸出 「A3 ADAM A3滿意」
因此,如果所有的特定ID的測試是不能令人滿意的(A4),然後我得到1個 輸出
A4 STEVE A4 UNSATISFACTORY
此外,如果所有用於特定ID的測試不測試(A5),然後我得到1輸出
A5 STEVE A5 NOT TESTED
雖然如果我有一些令人滿意的&不盡人意則它返回一個2 ID行
A1 JOHN A1 SATISFACTORY
A1 JOHN A1 UNSATISFACTORY
A2 MIKE A2 SATISFACTORY
A2 MIKE A2 UNSATISFACTORY
我想要實現的是,如果有令人滿意的&不滿意1號混合,然後輸出只顯示不盡人意。我試過case語句,按組,加入,MIN/MAX ......只是沒有運氣
請添加一個標籤告訴我們什麼RDBMS(Postgres的,了Oracle,SQLServer等)這是 –
你期待後輸出 – mohan111
'選擇TableA.ID,TableA.Name,TableA.Location, MAX(TableB.Results) TableA.ID上的左外部連接TableA.ID = TableB.ID GROUP BY TableA.ID,TableA.Name,TableA.Location,' – dnoeth