SQL - 无论顺序如何,都会从多个列返回不同的结果

时间:2014-09-30 17:50:47

标签: sql postgresql

我有一个SQL查询(使用PostgreSQL)看起来类似于以下内容......

select 
    distinct
    t1.employee_name c1,
    t2.employee_name c2,
    t3.employee_name c3
from 
    table t1,
    table t2,
    table t3

要从表格中返回所有可能的组合' (是的,这是一张单人桌)。我遇到的问题是" A,B,C"和" A,C,B"。

我需要结果是唯一的,无论它们出现的顺序如何。所以" B,C,A"也应该进行过滤等,以便返回的唯一行具有唯一的值组合,而不考虑它们的顺序。

有没有办法在SQL中执行此操作?我可能还会在未来添加更多列,因此可以支持更多的列是理想的。

1 个答案:

答案 0 :(得分:2)

您可以订购三个字段,添加此

where t1.employee_name < t2.employee_name and t2.employee_name < t3.employee_name

如果你想允许重复的名字,请使用&lt; =。