請問這個程式碼要怎麼改
才能看到各個買家買了多少東西
SELECT O_item.Qyantity
FROM Order_item O_item, Product Pro
WHERE Pro.sellerID = ?
描述的不太清楚 你把表结构大概说下 Order_item是订单表吗? 跟Product表如何关联?
大概思路是按照购买人分组就行了
SELECT * FROM Product
试下这样执行sql语句,可以查询到内容么?
表字段信息貼出來
自己矫正一下字段名吧,商品表没有给全,不然可以查出商品名称
select m.name as 用户名,oi.oi.product_id as 商品id,sum(oi.quantity) as 商品数量
from customer c
left join member m left c.customer_id = m.id
left join order o on c.customer_id = o.customer_id
left join order_item oi on o.order_id = oi.order_id
left join product p on oi.product_id = p.product_id
group by m.name,oi.oi.product_id
分组统计和join组合查询
说一下你想要的数据结果有哪些字段,每个字段的取值规则。
根据你要的字段,看需要哪些表进行关联,关联好后,select你要的字段,看你的统计口径是查看每个顾客购买的商品明细还是商品个数或者是商品种数,来选择是否聚合和聚合的方式
select a.id 用户id,
a.user_name 用户名,
sum(e.product_id) as num 购买商品总数量(订单数),使用sum函数通用所有数据库,count适用于Oracle和SqlServer
from member a
right join customer b on a.id = b.customer_id 所有买家的信息
left join order c on b.customer_id = c.customer_id
left join order_item d on c.order_id = d.order_id
left join product e on d.product_id = e.product_id
group by a.id 根据用户id(买家)进行分组
order by num desc 根据商品数量进行排序
如果有可以请采纳,谢谢!
select customer,product_id,quantity from
---不清楚题主想要什么,想要什么可以从宽表tt自己去取
(select * from customer aa
left join order bb
on aa.customer_id=bb.customer_id
left join product cc
on bb.seller_id=cc.seller_id
left join order item dd
on bb.order_id=dd.order_id
and cc.product_id=dd.product_id)tt
----这关联出来的就是一张宽表
----一个消费者可能购买多个物品