是否可以多次使用子查询?
Is it possible to use a subquery more than once?
我想知道是否可以在 SQL 中多次使用子查询。
例如:
with subQuery as (
select id from someTable1
)
update someTable2
set someValue = 1
where id in (select * from subQuery)
select * from someTable2
where id in (select * from subQuery)
...
截至目前,SQL 在 select * someTable2
子句中的 (select * from subQuery)
上抛出一个错误 "Invalid Object Name subQuery"。那么有没有一种方法可以多次使用 subQuery 而不必多次添加 table 或 运行 查询来更改第一条语句?
CTE 仅在单个查询的范围内,但查询可以同时更新和输出数据。例如
with subQuery as (
select id from someTable1
)
update someTable2
set someValue = 1
output inserted.*
where id in (select * from subQuery)
我想知道是否可以在 SQL 中多次使用子查询。
例如:
with subQuery as (
select id from someTable1
)
update someTable2
set someValue = 1
where id in (select * from subQuery)
select * from someTable2
where id in (select * from subQuery)
...
截至目前,SQL 在 select * someTable2
子句中的 (select * from subQuery)
上抛出一个错误 "Invalid Object Name subQuery"。那么有没有一种方法可以多次使用 subQuery 而不必多次添加 table 或 运行 查询来更改第一条语句?
CTE 仅在单个查询的范围内,但查询可以同时更新和输出数据。例如
with subQuery as (
select id from someTable1
)
update someTable2
set someValue = 1
output inserted.*
where id in (select * from subQuery)