我想知道如何返回 if both evaluate to be中OR
使用的子句中最左边条件的结果。LEFT JOIN
true
到目前为止,我遇到的解决方案都涉及在 中使用CASE
语句SELECT
,这确实意味着我会放弃该OR
子句。
另一个解决方案涉及CASE
在ORDER BY
.
是否有任何其他解决方案可以减少CASE
语句的使用。我问的原因是因为现在只有两个LEFT JOIN
s 但随着时间的推移会添加更多。
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'