簡體   English   中英

如何選擇具有列別名的值?

[英]How to select values with a column alias?

如果我在SQLite3中這樣做:

SELECT *
FROM (VALUES (1), (2), (3)) AS "tbl.col"
WHERE "tbl"."col" = 1

我得到:沒有這樣的專欄:tbl.col

正確的方法是什么?

謝謝!

我認為您正在尋找:

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

我發現這個問題可以回答我的問題。

SELECT "tbl"."" AS "col"
FROM (VALUES (1), (2), (3)) AS "tbl"

基本上,在VALUES中,第一列名稱是一個空字符串“”,第二個是“:1”,第三個是“:2”,依此類推...

希望這對其他人有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM