2

我有库存和购物车,我想做一个查询,向每个用户显示库存购物车列表

例如,如果我有 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

我怎样才能得到柜台(他在购物车里有什么)?

4

1 回答 1

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
于 2011-04-03T20:26:04.470 回答