2

我有以下 2 个表:

  • ProductCombined - 这里存储了几个产品信息
  • Productperformance - 定义产品是否表现良好

这是我当前的查询:

SELECT `prod_combined`.`sku`, `prod_combined`.`titel`, `prod_combined`.`preis_vk`, `prod_performance`.* 
FROM `prod_combined` 
INNER JOIN `prod_performance` ON prod_combined.sku = prod_performance.sku AND 
prod_performance.partner_id = 801 
WHERE (aktiv = 1) AND (active >= 0) 
AND prod_combined.sku = 1006224000 
LIMIT 5

在此版本中,必须将“活动”字段设置为大于 0 的值。

但我需要一个将 JOIN 视为非强制性的查询。例如,如果这个产品从 prod_combined 到 prod_performance 的连接不成功,它也会被查询获取。

我是否充分解释了这一点?

问候,

最大限度

4

2 回答 2

1
SELECT 
    a.sku, 
    a.titel, 
    a.preis_vk, 
    b.* 
FROM 
    prod_combined a
LEFT JOIN 
    prod_performance b ON a.sku = b.sku 
    AND b.partner_id = 801 
    AND b.active >= 0
WHERE 
    a.aktiv = 1 AND a.sku = 1006224000
LIMIT 5
于 2012-06-13T09:51:34.440 回答
1

这应该对你有用:

SELECT `prod_combined`.`sku`, `prod_combined`.`titel`, `prod_combined`.`preis_vk`, `prod_performance`.* 
FROM `prod_combined` 
LEFT JOIN `prod_performance` ON prod_combined.sku = prod_performance.sku
  AND prod_performance.partner_id = 801
  AND prod_performance.active >= 0
WHERE prod_combined.aktiv = 1 
  AND prod_combined.sku = 1006224000  
LIMIT 5

LEFT JOIN将确保如果有要添加的信息prod_performance,它将被显示

于 2012-06-13T09:40:56.040 回答