INNER JOIN (SELECT CONCAT(IF(a.begDate, date_format(a.begDate, '%d.%m.%y'), ''),
' ',
IF(rm.name IS NOT NULL, rm.name, ''),
'\nобласти: ',
IF(at1.title IS NOT NULL, GROUP_CONCAT(at1.title SEPARATOR ', '), ''),
'\nзаключение: ',
IF(aps.value IS NOT NULL, aps.value, '')) as t1,
e.id as t2
FROM Event e
INNER JOIN Action a ON a.event_id = e.id AND actionType_id = 16715 AND a.deleted = 0
LEFT JOIN ActionProperty ap1
ON a.id = ap1.action_id AND ap1.deleted = 0 AND ap1.type_id = 32183
LEFT JOIN ActionProperty_Reference apr ON apr.id = ap1.id
LEFT JOIN rbResearchMethod rm ON rm.id = apr.value
LEFT JOIN ActionProperty ap2
ON a.id = ap2.action_id AND ap2.deleted = 0 AND ap2.type_id = 32191
LEFT JOIN ActionProperty_Action apa ON apa.id = ap2.id
LEFT JOIN Action a2 ON apa.value = a2.id
LEFT JOIN ActionType at1 ON at1.id = a2.actionType_id
LEFT JOIN ActionProperty ap3
ON a.id = ap3.action_id AND ap3.deleted = 0 AND ap3.type_id = 32210
LEFT JOIN ActionProperty_String aps ON ap3.id = aps.id
WHERE e.setDate >= (SELECT setDate FROM Event WHERE id = 545426)
AND DATE(e.execDate) <=
IF((SELECT execDate FROM Event WHERE id = 545426),
(SELECT DATE(execDate) FROM Event WHERE id = 545426),
CURRENT_DATE)
AND a.signature = 1
AND e.execDate IS NOT NULL
AND client_id = (SELECT client_id FROM Event WHERE id = 545426)
GROUP BY ap1.action_id
ORDER BY a.begDate) tmp ON tmp.t2 = e5.id
WHERE client_id = (SELECT client_id FROM Event WHERE id = 545426);
Суть в том, что внутренний запрос возвращает данные корректно относительно сортировки по времени. А когда происходит join для внешнего group_concat, то эта сортировка сбивается и данные выводятся относительно e5.id.
Как правильно написать запрос, чтобы выводило данные в порядке a.begDate?
обернуть в еще селект всю конструкцию и order by date может?
Так он же не будет знать, что такое date. Все лежит в одной строке
а ты смотри какие имена полей возвращаются по тому и сортируй
В итоговом запросе возвращается просто одна строка. Там ровно одно поле, в котором лежит результат. Фото2
ну тогда это планировщик в скуле или потоки задач выполняюся с разным промежутком времени и закидывают в поле не поочереди данные получается
Обсуждают сегодня