不要显示重复的行SQLITE

时间:2012-09-11 14:40:55

标签: mysql sql database sqlite

我的查询类似于:

SELECT coc.title, inc.name FROM cocktail coc, ingredients inc WHERE coc.id = 1...  

此查询只是一个简短的例子

结果是:
标题:Cuba Libre,成分名称:可乐
标题:Cuba Libre,成分名称:Rum
标题:Cuba Libre,成分名称:Limette
我获得3次冠军,因为这种鸡尾酒有3个令人难以置信的 如果我使用这样的结果集,我会得到标题的3倍作为标题。

但我想:
标题:Cuba Libre,成分名称:可乐
成分名称:朗姆酒 成分名称:青柠 我想在结果集中只有一次标题和所有成分。

我有可能在一个查询中执行此操作,或者之后我是否必须执行另一个请求才能获取成分?

1 个答案:

答案 0 :(得分:3)

如果您想要同一行中的项目,则可以使用GROUP_CONCAT()

select c.c_name, group_concat(i.i_name) ingre
from cocktail c
inner join ingredients i
  on c.id = i.c_id
where c.id = 1
group by c.c_name

请参阅SQL Fiddle with demo