Я борюсь с построением запроса mysql
, поэтому он возвращает правильные результаты. Идея состоит в том, что мне нужно получить данные из основной таблицы, но некоторые поля являются только ссылками на другие таблицы, где также существует запись на разных языках.
, поэтому пример кода:
SELECT cars.model
FROM cars
LEFT JOIN parts ON parts.id = cars.partId AND parts.language IN ('en', 'de')
LEFT JOIN interior ON interior.id = cars.interiorId AND interior.language IN ('en', 'de')
LEFT JOIN exterior ON exterior.id = cars.exteriorId AND exterior.language IN ('en', 'de')
LEFT JOIN wheels ON wheels.id = cars.wheelId AND wheels.language IN ('en', 'de')
LEFT JOIN extra ON extra.id = cars.extraId AND extra.language IN ('en', 'de')
WHERE cars.id IN ('72727272') AND cars.source = 1
Мне нужны два результата из запроса (один на английском sh и один на немецком), вместо этого я получаю 24 результата. Они имеют различную конфигурацию языков.
Я попытался добавить:
GROUP BY ...
, но он не работает. DISTINCT
такой же, как указано выше
Может быть, кто-то знает некоторые хитрости о том, как справиться с подобной ситуацией (в худшем случае я могу выполнить запрос дважды для каждого языка, но это крайне медленно).