if both が be と評価されるOR
節で使用される句の左端の条件の結果をどのように返すのか疑問に思ってい ました。LEFT JOIN
true
これまでに私が遭遇した解決策はどちらも、CASE
ステートメントを使用することを含みます。これは、節SELECT
を放棄することを意味します。OR
もう 1 つの解決策CASE
は、ORDER BY
.
CASE
ステートメントの使用を減らす他の解決策はありますか。私が尋ねる理由は、現在または現在LEFT JOIN
s が 2 つしかないためですが、時間の経過とともにさらに追加されるためです。
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'