Есть оч. большое количество связанных таблиц (10 + 3 переименованные копии) в одном запросе для отображения в клиентском приложении заявок (Orders).
Запрос:
SELECT Orders.id, Orders.Title, `Status`.SName, `Edit`.DateEdit, `Create`.DateOpen, Priority.PName, createUser.FullName AS Инициатор, workUser.FullName AS `Кто назначен`, Categories.`C+SC`
FROM Users AS editUser INNER JOIN (types INNER JOIN (Categories INNER JOIN (Status INNER JOIN (RequestSource INNER JOIN (Priority INNER JOIN ((((Orders INNER JOIN control ON Orders.id = control.id) INNER JOIN (Users AS createUser INNER JOIN `Create` ON createUser.id = Create.WhoCreate) ON Orders.id = Create.id) INNER JOIN Edit ON Orders.id = Edit.id)
INNER JOIN (Users AS workUser INNER JOIN `Work` ON workUser.id = Work.WhoWork) ON Orders.id = Work.id) ON Priority.id = Orders.Priory) ON RequestSource.id = Orders.RequestSource) ON Status.id = Orders.Status) ON Categories.id = Orders.Category) ON types.id = Orders.type) ON editUser.id = Edit.WhoEdit ORDER BY Orders.id DESC;
Схема:
Проблема состоит в том что поля в Create.WhoCreate и Edit.WhoEdit имею статус NotNULL и не приносят проблем, а вот Work.WhoWork может быть NULL и если хоть в одной строчке отсутствует значение (стоит NULL) вся строка выборки исчезает из таблицы вывода. Необходимо, чтобы выводились все строки согласно Orders.id, но в некоторых Work.WhoWork были пустые ячейки.
Может кто помочь? Искал в интернете, но так и не нашел, как это реализовать.