如果我在SQLite3中这样做:
SELECT *
FROM (VALUES (1), (2), (3)) AS "tbl.col"
WHERE "tbl"."col" = 1
我得到:没有这样的专栏:tbl.col
正确的方法是什么?
谢谢!
答案 0 :(得分:4)
我认为你正在寻找这个:
SELECT *
FROM (VALUES (1), (2), (3)) AS tbl(col)
WHERE tbl.col = 1;
请注意,当您转义标识符(使用"tbl.col"
)时,那是一个名称,其中包含句点。不是两个名字。
编辑:
我希望上述内容能够正常运行,但它并不适用于SQLite。一种替代方法是使用CTE:
with tbl(col) as (
VALUES (1), (2), (3)
)
SELECT *
FROM tbl
where tbl.col = 1
答案 1 :(得分:1)