合并两个带有条件的SQL表

时间:2011-07-18 21:08:44

标签: mysql sql

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

再次:我将拥有所有product_groups行(1,2,3)和相关的id_category(product_category),其id_product = 45。

要解释这个并不容易,因为我的英语不好......

The two SQL Tables

这是一个SQL-Query,它为所有行提供了来自product_groups和id_product = 45的id但不是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';

感谢所有帮助

1 个答案:

答案 0 :(得分:4)

我想我明白你想要的东西:你想要列出所有product_groups,如果没有匹配则使用空值。试试这个:

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