Мой код генерирует большой запрос. Простая версия -
SELECT * FROM main_table as mt
JOIN user_data AS ud ON mt.user_id=ud.id
LEFT JOIN ban_Status AS bs ON ud.status_id=bs.id
JOIN AnotherTable ON bs.data=AnotherTable.id
ПРИМЕЧАНИЕ. Этот код не проверен.
Когда я удаляю последнее соединение, я получаю результаты. Я также могу изменить его на левое соединение, но это было бы неправильно. Если ud.status не равен NULL, я бы хотел соединение, как всегда, когда делаю запрос на выборку из ban_Status. Как это исправить? я должен написать левое соединение на каждой таблице, если я оставил соединение родительской таблицы? разве это не даст мне побочных эффектов?
Я пользуюсь банкоматом sqlite, но переключусь на tsql