我有库存和购物车,我想创建一个查询,向每个用户显示库存车列表
例如,如果我有5个苹果库存并且他的购物车中有3个苹果,那么当他搜索更多苹果时,他应该只看到2个(注意:我按类型分组项目)库存基本表
id,type,price,seller,...
1,apple,10,s1
2,apple,10,s2
3,orange,5,s1
3,apple,10,s1
假设他选择了2个苹果
购物车:
id,type,quantity
1,apple,2
因此,我的查询将在结帐时简单地选择2个随机苹果(是的,这应该是根据我的脚本的方式)。
因此,当我想再次显示库存中的商品时,我会这样做:
SELECT *,count(*) as counter FROM stock group by type
我如何得到反击(他在购物车中有什么)?
答案 0 :(得分:3)
select s.type, count(*) - (
select count(*)
from cart c
where c.type=s.type
# and c.userid = X
) as counter
from stock s
group by s.type
having counter > 0