[英]SQL: WITH clause how to refer to column_name
I will create some pseudo code to explain my problem:我将创建一些伪代码来解释我的问题:
WITH MAX_BES AS
(SELECT MAX(ID) AS MAX_ID FROM TABLE1);
SELECT .....
FROM
TABLE2, TABLE3
WHERE
TABLE2.ID IN (MAX_BES.MAX_ID);
The code above does not work.上面的代码不起作用。 How should I reference a column from my WITH clause within an IN clause?我应该如何在 IN 子句中引用我的 WITH 子句中的列?
Thanks a lot for your quick feedback.非常感谢您的快速反馈。
Use a sub-select and make that one statement, not two.使用子选择并做出一个声明,而不是两个。
WITH max_bes AS (
SELECT max(id) AS max_id
FROM table1
) --<< no ; here!
SELECT .....
FROM table2
JOIN table3 ON ... ??
WHERE table2.id IN (SELECT max_id FROM max_bes);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.