sql - 是否可以多次使用子查询?
问题描述
我想知道是否可以在 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)
...
(select * from subQuery)
截至目前,SQL在select * someTable2
“无效的对象名称子查询”子句中引发错误。那么有没有办法多次使用 subQuery 而不必添加表或多次运行查询来更改第一条语句?
解决方案
CTE 仅适用于单个查询,但查询可以同时更新和输出数据。例如
with subQuery as (
select id from someTable1
)
update someTable2
set someValue = 1
output inserted.*
where id in (select * from subQuery)
推荐阅读
- swift - 使用自定义开始/结束时间循环 AVPlayer
- r - 正确指示 R barplot 中的图例
- r - 更改字体类型(编辑器字体)Rstudio 1.2 版和 Window 10 OS
- movesense - DataLogger 服务被配置为订阅您自己的白板资源
- docker - 访问不同子网中的 docker 容器(网桥)
- python - 隐藏在字符串对象中的 Python 字节
- python - 如何计算另一个列表中两个列表之间的匹配
- javascript - 如何对具有外部条件和对象属性的数组对象进行排序?
- python - 使用 pyinstaller 在规范文件中包含数据
- node.js - 如何在 VS Code 中设置断点以调试 Firebase 函数