Mysql 如何使用可选子句左键联接表
我有这个查询,我想找到每个订购的产品及其位置Mysql 如何使用可选子句左键联接表,mysql,Mysql,我有这个查询,我想找到每个订购的产品及其位置 SELECT op.orders_id, op.products_id, op.products_quantity, op.products_name, psl.shelf_code FROM orders_products AS op LEFT JOIN orders_products_attributes AS opa ON op.orders_products_id = opa.orders
SELECT op.orders_id, op.products_id, op.products_quantity, op.products_name, psl.shelf_code
FROM orders_products AS op
LEFT JOIN orders_products_attributes AS opa
ON op.orders_products_id = opa.orders_products_id
LEFT JOIN products_stock_location AS psl
ON op.products_id = psl.products_id
AND opa.products_options_values_id = psl.option_id
WHERE op.orders_id IN ('" . implode("', '", $oIDs) . "')
问题是,有时产品没有属性,所以它们在orders\u products\u属性中没有条目,在这种情况下,我的第一个左连接不返回任何内容,这不是问题,但我的AND子句使第二个连接不返回任何内容
如果不相关,有没有办法使and子句成为可选的 当然这很容易,我在寻找一些巫毒的东西,一定是新年;)。非常感谢。当然那很容易,我在找一些巫毒的东西,一定是新年;)。谢谢。
and (opa.products_options_values_id is null
or opa.products_options_values_id = psl.option_id)