2012-11-01 32 views
2

我需要一個表中的所有列,但兩列必須是不同的。 我使用了這段代碼,但它檢查所有的列,但我只需要其中兩個將不同。 我該如何解決這個問題?使用選擇與多個列不同,但所有列都是不同的

select distinct a.personalId, a.fileId, a.name, a.surname, a.address from my_table a 

如果我用下面的代碼,我不能讓其他列:

select distinct a.personalId, a.fileId from my_table a 
+0

你能發佈樣本數據和期望的結果嗎? –

+0

我正在使用plSql Oracle – user983924

+0

實際上,您使用的是Oracle * SQL * - PL/SQL是Oracle的過程語言。 –

回答

1

如果其他列不同的應該怎麼辦?數據庫應該如何選擇顯示哪個值?答案是「它不能」,因爲它不能沒有語法來做到這一點(這是一個邏輯錯誤)。

MySQL確實有一個擴展,它將隨機選擇值。

select a.personalId, a.fileId, a.name, a.surname, a.address 
from my_table a 
group by a.personalId, a.fileId 

但我不建議依賴於此。你需要重新思考你正在使用的邏輯。

相關問題