如何在postgresql中加入select自己?

时间:2015-06-13 13:01:31

标签: sql postgresql

如何在postgresql中自行加入select?

SELECT *
FROM (
    SELECT  src, dst FROM records
) as t1
JOIN t1 t2
USING(src)

更新:

我的表已经不存在了,我创建了一个带有“SELECT”的表,我希望自己加入这个选定的表。

2 个答案:

答案 0 :(得分:2)

使用Common Table Expressiom:

with t1 as
(
    SELECT  src, dst FROM records
) 
SELECT *
FROM t1 JOIN t1 t2
USING(src)

答案 1 :(得分:0)

你应该解决这个问题。但是一个明显的问题是,您无法重新使用表别名来定义定义它的同一from子句中的另一个表。因此,我认为你想要:

SELECT r1.src, r1.dst, r2.src, r2.dst
FROM records r1 JOIN
     records r2 
     USING (src);