1
在postgres的我可以說:SQLite的:如何在「價值」的子查詢名稱的列
test=# select * from (values(1),(3),(7)) as foo(id);
id
----
1
3
7
(3 rows)
這意味着,這樣的子選擇可以隨後與其它表使用foo.id等接合
SQLite中我可以說:
sqlite> select * from (values(1),(3),(7)) as foo;
----------
1
3
7
,但如果我說FOO(ID),我會得到一個錯誤:
sqlite> select * from (values(1),(3),(7)) as foo (id);
Error: near "(": syntax error
很明顯,通常的子選擇(例如, 「(選擇... as a,... as b from ...)as foo」)你可以簡單地命名每個字段。
唯一的簡單的解決方法我發現名字列在這種情況下是做一個像工會:
sqlite> select * from (select 1 as id where 1=0 union values(1),(3),(7)) foo;
id
----------
1
3
7
有沒有更好的方式SQLite中來命名這種「子查詢」欄目?
嗯,我明白了,所以我的專欄實際上可以通過「」 - 很好。然後重命名的唯一方法可能是再選擇一個級別(不是一個巨大的,考慮到你不會使用「值」與一個巨大的列表) sqlite>選擇「」作爲col1,「:1」作爲col2, 「(2)」作爲col3 from(values(1,2,3)); 或工會。 清除。謝謝。 – 2015-02-09 18:35:54