SQL-从多个列返回不同的结果,而不考虑顺序
我有一个SQL查询(使用PostgreSQL),看起来如下所示SQL-从多个列返回不同的结果,而不考虑顺序,sql,postgresql,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” 我需要的结果是唯一的,无论他们出现的顺序。所以
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中有什么方法可以做到这一点吗?将来我可能还会添加更多的列,因此可以支持更多列的内容将是理想的。您可以订购三个文件,添加以下内容
where t1.employee_name < t2.employee_name and t2.employee_name < t3.employee_name
其中t1.employee\u name
使用它比我发现的涉及多个子查询的其他解决方案简单得多。这似乎是一个很好的解决方案,让我在检查它之前测试一下。它应该过滤掉三个名称不按升序排列的行。