2012-11-01 34 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 

但我不建议依赖于此。你需要重新思考你正在使用的逻辑。

相关问题