我有以下 2 个表:
- ProductCombined - 此处存储了多个产品信息
- 产品性能 - 定义产品是否表现良好
这是我当前的查询:
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
在此版本中,必须将“active”字段设置为大于 0 的值。
但我需要一个将 JOIN 视为非强制的查询。例如。如果该产品从 prod_combined 到 prod_performance 的连接不成功,查询也会获取它。
我是否充分解释了这一点?
问候,
最大
最佳答案
这应该对你有用:
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
添加信息,则会显示该信息
关于mysql - 如何创建非强制加入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11011613/