我的查询有问题。查询显示了商店列表和相关产品的数量。我已经玩了很长时间的左连接,但没用。这些表有以下结构:8 l4 Y1 @0 M# j+ l
商店包含表列:id,name: k7 e% [, l- W( u0 S4 c- G
产品含表列:id,name,status,shop3 f( j, t% ], `/ f; p6 N( e6 Z5 y
查询如下: a3 P* i/ }, x, iselect s.name p.name count(p.id) from Product as p left join Shop as s on p.shop=s.idwhere p.status '8796107276379'group by s.id我没有去有0件商品的商店。我该怎么办?3 I- t% G* v; r0 {
基础数据库是MySQL。 3 L+ h0 _- v1 c! _4 m0 S- q谢谢!马耳他 # e+ @5 S# b+ r% R& z T 8 p+ L& `0 [6 h3 T. C$ A! A 解决方案: 8 [6 B. R3 T6 q4 B6 c% `2 P
你需要在左边购物,因为右边可能没有数据,在这种情况下PRODUCT。 / |. N K2 l& H W0 D! _6 i U不仅如此,你还需要WHERE条件作为LEFT-JOIN5 A' ^3 e1 @# L/ C- Z6 {6 D
ON这样,它就可以在状态条件下添加产品,即使不需要状态,产品也可以打折(在保持销售状态的同时)。 ( H1 C% }4 i8 B' E: {( b! Cselect 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