从sqlite3中检索列

时间:2010-05-27 02:55:15

标签: sql sqlite

我在sqlite中有两个表:

CREATE TABLE fruit ('fid' integer, 'name' text);
CREATE TABLE basket ('fid1' integer, 'fid2' integer, 'c1' integer, 'c2' integer);

篮子应该有水果fid1的c1和水果fid2的c2

我创建了一个视图fruitbasket;

create view fruitbasket as select * from basket inner join fruit a on a.fid=basket.fid1 inner join fruit b on b.fid=basket.fid2;

它(几乎)按预期工作。

当我输入

pragma table_info(fruitbasket);

我得到以下输出

0|fid1|integer|0||0
1|fid2|integer|0||0
2|c1|integer|0||0
3|c2|integer|0||0
4|fid|integer|0||0
5|name|text|0||0
6|fid:1|integer|0||0
7|name:1|text|0||0

问题是我似乎无法选择SELECT名称:1。除了返回并重新别名列之外,我该怎么做呢?

1 个答案:

答案 0 :(得分:2)

使用双引号表示列名:

select "name:1" from fruitbasket;

以下是一个例子:

sqlite> insert into fruit values (1,'apple');
sqlite> insert into fruit values (2,'pear');
sqlite> insert into basket values(1,2,3,4);
sqlite> select "name:1" from fruitbasket;
pear
sqlite>