Mysql 使用条件合并两个SQL表

Mysql 使用条件合并两个SQL表,mysql,sql,Mysql,Sql,我现在已经开始学习SQL,现在我的问题是: 查看我上传的图片,告诉我如何过滤id_product=45的所有产品类别,返回值为45-3,45-2,以及产品组中的第1行 同样:我将拥有所有product_组行(1,2,3)以及id_product=45的相关id_类别(product_类别) 我的英语很差,很难解释 下面是一个SQL查询,它为id为product_groups和id_product=45的所有行提供空值,而不是id=3的行:-( 感谢所有帮助我想我理解您的要求:您希望列出所有产品

我现在已经开始学习SQL,现在我的问题是: 查看我上传的图片,告诉我如何过滤id_product=45的所有产品类别,返回值为45-3,45-2,以及产品组中的第1行

同样:我将拥有所有product_组行(1,2,3)以及id_product=45的相关id_类别(product_类别)

我的英语很差,很难解释

下面是一个SQL查询,它为id为product_groups和id_product=45的所有行提供空值,而不是id=3的行:-(


感谢所有帮助

我想我理解您的要求:您希望列出所有产品组,如果不匹配,则使用空值。请尝试以下操作:

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';

首先,在产品Type中,你缺少了括号。IdUnice是NULL和StudioTyGROUP。类型=“GAMEY”,产品组3是否有类型“游戏”?也可以考虑翻转查询。左边的连接通常被认为比右连接更容易阅读。是的,产品组的列类型有“游戏”。图片:-)嘿,这个查询没有表“product\u groups”中的值id=“3”。我的结果表中需要id=“3”。查询的其余部分是正确的。@Bohemian:将
从products\u groups左转入product\u类别
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';