如何使用一个查询获取包含子列表的列表?

Dav*_*les 1 mysql sql sqlite

我想打印一个数据库表中的项目列表,以及每个相关子项目的小列表(最多 10 个项目)。

例如,我有这两个表:

ITEMS

id: integer
name: string


SUBITEMS

id: integer
name: string
item_id: integer
Run Code Online (Sandbox Code Playgroud)

因此,一个项目可以有许多子项目。

我想打印这样的东西:

Item 1
this item has: subitem 1, subitem 2, subitem 3

Item 2
this item has: subitem 4, subitem 5, subitem 6

Item 3
this item has: subitem 2, subitem 4, subitem 7
Run Code Online (Sandbox Code Playgroud)

这如何在 SQL 中完成?这甚至可能吗?

P M*_*P M 5

如果是 MySQL 那么

select i.*, group_concat(si.name) as subitems
from items i
left join subitems si on si.item_id = i.id
group by i.id
Run Code Online (Sandbox Code Playgroud)