gpt4 book ai didi

mysql - 卡在 SQL 连接查询

转载 作者:行者123 更新时间:2023-11-29 19:50:42 26 4
gpt4 key购买 nike

我是数据库新手。我有下表

Customer (customer_id, customer_name, city)
Order (order_id, order_date, customer_id)
Order_Item (order_id, item_id, quantity)
Item (item_id, unit_price)
Shipment (order_id, warehouse_id, ship_date)
Warehouse (warehouse_id, warehouse_name, warehouse_city)

所需的查询是:

  • 编写 SQL 查询来检索每个订单的商品数量和总价。
  • 编写一个 SQL 查询来检索已从名为“FridaHouse”的仓库发货的订单的总价。

这是我对第一个查询的尝试,但肯定行不通

SELECT item.item_id, SUM(item.unit_price * order_item.quantity) AS TOTAL_PRICE 
FROM order_item JOIN item on item.item_id=order_item.item_id;

最佳答案

您缺少一个 group_by 子句,该子句告诉 SQL 聚合具有相同 order_id 的所有行。另外,您应该返回订单的 ID,而不是商品的 ID(订单中可以有不同的商品,因此 SQL 不知道要返回哪一个)。除去可能的拼写错误,第一个查询应如下所示:

select
order_id,
sum(quantity) as quantity,
sum(unit_price*quantity) as total_price
from order_item join item on item.item_id = order_item.item_id
group by order_id

这假设每个订单至少包含一个项目 - 如果您想满足空订单,请从订单中进行选择并使用上面的子查询执行左外连接。

关于mysql - 卡在 SQL 连接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40824072/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com