我现在已经开始学习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/

10-14 00:13