简体   繁体   English

SQL: WITH 子句如何引用 column_name

[英]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.

相关问题 如何在Codeigniter Active Record中使用SQL COUNT(DISTINCT column_name)函数编写HAVING子句? - How to write the HAVING clause with SQL COUNT(DISTINCT column_name) function in Codeigniter Active Record? 如何在sql中为每个column_name选择avg(value) - How to select avg(value) per column_name in sql 我如何在 pl/sql 中动态使用 column_name - How can i use column_name dynamically in pl/sql SQL Select模式,例如column_name - SQL Select pattern like column_name 如何将一列的总数与SQL中的行条目相乘,即sum(column_name)*列名 - How to multiply total of one column with row entry in SQL ie sum(column_name) * column name 无论查询中的 where 子句如何,如何从表中获取 max(column_name)? - How to get max(column_name) from a table irrespective of a where clause in the query? SQL 带参数:... where column_name IS NULL || 其中 column_name = 值 - SQL with parameters: … where column_name IS NULL || where column_name = value 如何在(子查询)中选择 Where column_name - how to select Where column_name in (subquery) 如何从 column_name 获取记录 - How to get records from column_name SQL:如何使用信息架构中的Table_Name和Pivoted Column_Name构建选择查询 - SQL: How to build a select query with Table_Name and Pivoted Column_Name from Information Schema
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM