sqlite3的
我有两张桌子。一个包含一些列表,另一个包含每个列表的项目。
我想创建一个select语句来抓取lists表中的行,但是还要创建一个列,该列是每个列表中项目的逗号分隔的摘要。
我的工作原理如下:
select
master._id as _id,
master.name as name,
master.created_on as created_on,
group_concat(items.name, ', ')
from
tablea master
join
tableb items
on
master._id = items.master_id
group by
master._id
但是,我想将group_concat返回的列命名为“summary”,如下所示:
select
master._id as _id,
master.name as name,
master.created_on as created_on,
group_concat(items.name, ', ') as summary
from
tablea master
join
tableb items
on
master._id = items.master_id
group by
master._id
当我这样做时,我收到一个sql错误: “SQL错误:接近”摘要“:语法错误
我如何实现我想要做的事情?
我还想按字母顺序降序group_concat中的项目,但命名列是我的第一要务。
答案 0 :(得分:4)
“AS”是可选的。但是,有和没有“AS”的情况对我来说都很好(使用SQLite版本3.6.14.2):
drop table tablea;
drop table tableb;
create table tablea(_id int, name varchar, created_on varchar);
create table tableb(master_id int, name varchar);
insert into tablea values(0, 'Hello', '2010');
insert into tableb values(0, 'x');
select
master._id as _id,
master.name as name,
master.created_on as created_on,
group_concat(items.name, ', ') as summary
from
tablea master
join
tableb items
on
master._id = items.master_id
group by
master._id