Нужно найти все слова с их итальянским переводом, если итальянский не существует, тогда нужно с испанским (язык по умолчанию). Я не могу использовать более одного запроса, и там, где существует условие (технические ограничения)
Слова
id|name
-------
1|Dog
2|Cat
Переводы
id|word_id|translation|language
-------------------------------
1| 1| Perro|es
2| 1| Cane |it
3| 2| Gatto|es
Результат:
id|name|translation|language
1| Dog| Cane|it
2| Cat| Gatto|es
SELECT * FROM words LEFT JOIN translation ON words.id = translation.word_id WHERE language = 'it' OR (language = 'es' AND NOT EXISTS(SELECT * FROM translation WHERE word_id = words.id AND language = 'it'))
Этот код возвращает все, что мне нужно, но я не могу использовать там, где существуют условия в моей ситуации