如何从两列的值中选择DISTINCT

时间:2017-10-18 16:39:55

标签: sql postgresql

我想获得两列(或两列)中出现的不同值。不是列的分组,而是各个值本身。

例如,使用ORIGIN和DESTINATION列查询航空旅行路线表。我想获得所有机场的清单,无论它是起点还是目的地。

SFO, LGA
SFO, LAX
JFK, LAX
JFK, SFO
LAX, SFO
LAX, LGA

应该返回

LAX, SFO, LGA, JFK

如果它有任何不同,我正在使用Postgres 9.6。

3 个答案:

答案 0 :(得分:4)

只需使用union

select origin as airport
from routes
union  -- used on purpose to remove duplicates
select destination
from routes;

答案 1 :(得分:0)

在写我的问题时,我设法解决了这个问题,但我不确定这是否是最理想的情况。

SELECT DISTINCT orig AS airport_code
FROM (
  SELECT origin FROM airport_routes
  UNION ALL
  SELECT destination FROM airport_routes
);

答案 2 :(得分:0)

研究在两列上使用聚合函数(<,>)

相关问题