我有这个查询,我想找到每个订购产品的位置
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_products_attributes中没有条目,在这种情况下,我的第一个Left join返回什么不是问题,但我的AND子句进行第二次连接没有回报。
如果不相关,有没有办法让和子句可选?
答案 0 :(得分:0)
and (opa.products_options_values_id is null
or opa.products_options_values_id = psl.option_id)