我在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。除了返回并重新别名列之外,我该怎么做呢?
答案 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>