Krt*_*lta 9 mysql sql count left-join
我的查询有问题,该查询显示商店列表,其中包含与之关联的产品数量.我一直在玩左连接等一段时间但是无济于事.表格具有以下结构:
包含列的商店表:id,name
包含列的产品表:id,name,status,shop
查询如下:
select s.name
, p.name
, count(p.id)
from Product as p
left join Shop as s on p.shop=s.id
where p.status <> '8796107276379'
group by
s.id
Run Code Online (Sandbox Code Playgroud)
我找不到有0件商品的商店.我怎么能实现这个目标呢?
底层数据库是MySQL.
谢谢!Krt_Malta
Ric*_*iwi 22
您需要在左侧进行SHOP,因为右侧是可能没有数据的侧面,在本例中为PRODUCT.
不仅如此,您需要将WHERE条件作为LEFT-JOIN ON条件,以便它连接到状态条件下的产品,并且即使不需要状态也只需对产品进行折扣(同时保持购物).
select s.name
, p.name
, count(p.id)
from Shop as s
left join Product as p on p.shop=s.id AND p.status <> '8796107276379'
group by
s.id, p.name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28129 次 |
| 最近记录: |