我现在已经开始学习SQL了,现在我的问题是:
看看我上传的图片,告诉我如何过滤id_product=45的所有产品类别,我的返回值是45-3,45-2,行1来自产品组。
再次:我将拥有所有product_组行(1,2,3)和相关的id_类别(product_类别),id_product=45。
很难解释,因为我英语不好。。
下面是一个SQL查询,它给出了所有id为product_groups且id_product=45但id=3且值为空的行:-(
SELECT
id, title, multiplayer, id_product
FROM
product_category
RIGHT OUTER JOIN products_groups ON
rg_product_category.id_category = products_groups.id
WHERE
product_category.id_product = '45' OR
product_category.id_product IS NULL AND products_groups.type = 'Game';
谢谢你的帮助
最佳答案
我想我明白你想要什么:你想列出所有的产品组,如果没有匹配的话,用空值。试试这个:
SELECT
id, title, multiplayer, id_product
FROM products_groups
LEFT JOIN product_category
ON product_category.id_category = products_groups.id
AND product_category.id_product = '45'
WHERE products_groups.type = 'Game';
关于mysql - 带条件合并两个SQL表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6739461/