products
:
| 价格| price |
| --| ------------ |
| 十个| 10 |
| 二十个| 20 |orders
:
| 地址| address |
| --| ------------ |
| 拉拉| lala |
| 拉拉| lala |orderedProducts
:
| orderId|金额| amount |
| --|--| ------------ |
| 0| 1| 1 |
| 0| 2| 2 |
| 1| 2| 2 |
我想得到:
orders[
{id, address, items[{productid , price, amount}, {productid , price, amount}]},
{id, address, items[{productid , price, amount}]}
]
这可能通过单个查询实现吗?我正在使用Python的SQLite。
2条答案
按热度按时间rwqw0loc1#
您可以使用json_group_array和json_object。使用文档为here
您的查询可能是这样的:
您必须使用
GROUP BY o.id, o.address
,因为json_group_array
为了使一些演示查询感觉自由使用这个site。
模拟数据创建:
aamkag612#
你可以使用
GROUP_CONCAT
,类似这样:下面是一个SQL Fiddle示例