我在想,如果左连接中的两个条件都为真,我该如何返回OR子句中最左边条件的结果。迄今为止,我找到的解决方案都涉及在SELECT语句中使用CASE语句,这意味着我将放弃OR子句。另一个解决方案涉及在ORDER BY中使用CASE语句。是否有其他解决方案可以减少CASE语句的使用?我之所以问这个问题是因为现在只有两个LEFT JOIN,但随着时间的推移会增加更多。
SELECT item.id,
item.part_number,
lang.data AS name,
lang2.data AS description
FROM item
LEFT JOIN
language lang
ON item.id = lang.item
AND (lang.language = 'fr' OR lang.language = 'en')
LEFT JOIN
language lang2
ON item.id = lang2.item
AND (lang2.language = 'fr' OR lang2.language = 'en')
WHERE item.part_number = '34KM003KL'