Ссылочная колонка из WITH-Subselect
Проблема заключается в следующем: я использую подзапрос, и мне нужно присоединиться
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 */
;
Как мне ссылаться на столбец формы подвыбор?
2 ответа
Решение
Прежде всего, вам следует прекратить использовать устаревшие неявные объединения и использовать вместо них явные объединения. Тогда вы можете использовать псевдонимы таблиц для этого:
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;