问题如下:我正在使用子查询,我需要加入
WITH subselect_from_A AS (
SELECT A.A_ID FROM A
)
SELECT B.D_ID FROM B, subselect_from_A WHERE B.B_ID =
A.A_ID
/* or instead: subselect_from_A.A_ID */
;
如何从子选择中引用列?
问题如下:我正在使用子查询,我需要加入
WITH subselect_from_A AS (
SELECT A.A_ID FROM A
)
SELECT B.D_ID FROM B, subselect_from_A WHERE B.B_ID =
A.A_ID
/* or instead: subselect_from_A.A_ID */
;
如何从子选择中引用列?
首先,您应该停止使用已弃用的隐式连接并改用显式连接。然后您可以为此使用表别名:
WITH subselect_from_A AS (
SELECT A.A_ID FROM A --doesn't really seem like a sub-select
)
SELECT B.D_ID, A.A_ID
FROM B
INNER JOIN subselect_from_A AS A
ON B.B_ID = A.A_ID;
与普通桌子一样。
WITH subselect_from_A AS (
SELECT A.A_ID FROM A
)
SELECT B.D_ID, subselect_from_A.A_ID FROM B, subselect_from_A
WHERE B.B_ID = subselect_from_A.A_ID;