如果我在SQLite3中这样做:
SELECT *
FROM (VALUES (1), (2), (3)) AS "tbl.col"
WHERE "tbl"."col" = 1
Run Code Online (Sandbox Code Playgroud)
我得到:没有这样的专栏:tbl.col
正确的方法是什么?
谢谢!
我认为您正在寻找:
SELECT *
FROM (VALUES (1), (2), (3)) AS tbl(col)
WHERE tbl.col = 1;
Run Code Online (Sandbox Code Playgroud)
请注意,当您转义一个标识符(使用"tbl.col")时,那是一个带有句点的名称。不是两个名字。
编辑:
我曾期望上面的工作,但是在SQLite中却不行。一种替代方法是使用CTE:
with tbl(col) as (
VALUES (1), (2), (3)
)
SELECT *
FROM tbl
where tbl.col = 1
Run Code Online (Sandbox Code Playgroud)