假设我有这个查询:
select *
from myTable
where myTable.myCol in (1,2,3)
Run Code Online (Sandbox Code Playgroud)
我想这样做:
with allowed_values as (1,2,3)
select *
from myTable
where myTable.myCol in allowed_values
Run Code Online (Sandbox Code Playgroud)
它在第一行给我一个语法错误,你能帮我修复它吗?
我能想到的最接近你的语法:
WITH allowed_values (id) AS
( VALUES
(1), (2), (3)
)
SELECT *
FROM myTable
WHERE id IN
(TABLE allowed_values) ;
Run Code Online (Sandbox Code Playgroud)
在SQL-Fiddle中测试过
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |