子查询的自联接

Jor*_*ril 17 sql postgresql

我想知道,是否有可能加入查询结果?

(我正在使用PostgreSQL)

And*_*mar 37

您可以使用WITH:

WITH subquery AS(
    SELECT * FROM TheTable
) 
SELECT *
FROM subquery q1
JOIN subquery q2 on ...
Run Code Online (Sandbox Code Playgroud)

或者通过创建包含查询的VIEW,并加入:

SELECT *
FROM TheView v1
JOIN TheView v2 on ...
Run Code Online (Sandbox Code Playgroud)

或蛮力方法:键入子查询两次:

SELECT *
FROM (
    SELECT * FROM TheTable
) sub1
LEFT JOIN (
    SELECT * FROM TheTable
) sub2 ON ...
Run Code Online (Sandbox Code Playgroud)