Я пытаюсь вывести списки в одном запросе на основе выбранного языка. Но мне нужно сделать, если листинг недоступен для выбранного языка, тогда он вернет английский, если таковой существует.MySQL Условное место где
Так, если английский «ан» и японский «JP», следующий в данный момент возвращает японские списки:
SELECT *
FROM listings LS
LEFT JOIN listing_langs LANG ON LS.listing_id = LANG.listing_id
WHERE LANG.language = 'jp'
Я пытаюсь выяснить, что возможно даже в MySQL, чтобы создать запрос так что сначала он будет искать: LANG.language = 'jp' и вернуть японский список (как это делается сейчас), но если он окажется пустым, а затем найдите: LANG.language = 'en' и вместо этого верните это Английский листинг, если он существует.
Так что, в принципе, верните японский листинг, если он существует, но если он не по умолчанию не соответствует английскому листингу, если он существует.
Возможно, вам понадобится создать производный запрос, используя оператор CASE для условия языка, объединив подзапросы 'jp' и' en' вместе, где 'jp' не сопоставляется. Мой первоначальный ответ не решил вашу проблему, поэтому я пометил ее для удаления. – 2010-11-19 16:38:46
Большое спасибо. Я не уверен, как сделать производный запрос, но будет пытаться увидеть, что будет работать. – Frank