首页 MySql php – MySQL中的条件JOIN语句

php – MySQL中的条件JOIN语句

我有以下工作MySQL查询:SELECT a.id id, a.price price, a.stock stock, a.max_per_user max_per_user, a.purchased purchased, b.quantity owned FROM shop_items a

我有以下工作MySQL查询:

SELECT 
    a.id id,a.price price,a.stock stock,a.max_per_user max_per_user,a.purchased purchased,b.quantity owned 
FROM 
    shop_items a 
        JOIN shop_inventory b 
            ON b.iid=a.id 
            AND b.cid=a.cid 
WHERE 
    a.cid=1 
    AND a.szbid=0 
    AND a.id IN(3,4)

JOIN加入表shop_inventory b以返回b.quantity所拥有的.但是,如果shop_inventory b表中没有记录,其中b.iid = a.id我希望它返回b.quantity = 0.我该怎么做?
最佳答案
请改用LEFT JOIN.和COALESCE因为一些记录为null(我猜).尝试,

SELECT a.id id,COALESCE(b.quantity,0) owned 
FROM shop_items a 
          LEFT JOIN shop_inventory b 
                ON b.iid=a.id AND b.cid=a.cid 
WHERE a.cid=1 AND 
      a.szbid=0 AND 
      a.id IN(3,4)

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/shujuku/mysql/20200921/9704.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部