Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL-从多个列返回不同的结果,而不考虑顺序_Sql_Postgresql - Fatal编程技术网

SQL-从多个列返回不同的结果,而不考虑顺序

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” 我需要的结果是唯一的,无论他们出现的顺序。所以

我有一个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中有什么方法可以做到这一点吗?将来我可能还会添加更多的列,因此可以支持更多列的内容将是理想的。

您可以订购三个文件,添加以下内容

where t1.employee_name < t2.employee_name and t2.employee_name < t3.employee_name
其中t1.employee\u name

使用它比我发现的涉及多个子查询的其他解决方案简单得多。这似乎是一个很好的解决方案,让我在检查它之前测试一下。它应该过滤掉三个名称不按升序排列的行。