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