如何解决SQL-如何为购物应用编写简单请求
实际上,我刚刚用这种结构构建了数据库:
因此用户可以做多个订单。 每个订单可以有多个项目。
但是我无法编写良好的sql请求来获得良好的结果。
我需要一个不同订单的列表,在每个订单上我都可以看到:每个项目及其数量和订购用户的邮件。
我认为结构还可以,但是我需要良好的sql请求。
谢谢!
数据示例:(我删除了无用的东西)
items
:
id name price
1 Cola 3
2 Pepsi 2
user
:
id email
1 test@admin.com
2 user@test.com
orders
:
id date user_id
1 2018-09-24 00:00:00 1
2 2018-09-23 00:00:00 2
order_items
(ID有用吗?)
id order_id items_id quantity
1 1 1 2
2 1 2 3
3 2 2 8
我想拥有的东西:(在前端)。但是我知道在sql结果中列出像这样的项目是不可能的。
order 1
date user items
2018-09-24 00:00:00 admin@test.com Cola x2,Pepsi x3
order 2
date user items
2018-09-23 00:00:00 user@test.com Pepsi x8
解决方法
将返回所有信息的查询:
select o.id "order id",o.date "order date",u.email "email",i.name "item",oi.quantity "quantity"
from orders
inner join order_items oi on oi.orders_id = o.id
inner join user u on u.id = o.user_id
inner join items i on i.id = oi.items_id
order by o.id
o.id的顺序有助于处理结果集:同一顺序的所有项目都在一起。可以帮助编写一些control-break逻辑
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。