Всем привет!
Проблема есть 4 запроса которые нужно вывести. Я сделал 1 запрос с union all с 4 подзапросами. При этом проверил результат работы каждого подзапроса. Если сложить их во едино то результат будет другой а именно он не скалывает их по порядку и как то сортирует.
$sql = "(
SELECT tovar.rating, ROUND(t.suma/tovar.massa, 2) as suma_tovar, t.suma, tovar.massa, tovar.id as tovar_id, t.is_confrim
FROM `tovar` tovar
JOIN price_top t ON t.tovar_id=tovar.id
WHERE t.is_confrim=1
" . $strWhereCategor . "
ORDER BY suma_tovar ASC
) UNION ALL
(
SELECT tovar.rating, ROUND(t.suma/tovar.massa, 2) as suma_tovar, t.suma, tovar.massa, tovar.id as tovar_id ,t.is_confrim
FROM `tovar` tovar
JOIN price_top t ON t.tovar_id=tovar.id
WHERE t.is_confrim=0
" . $strWhereCategor . "
and ( week(NOW())-week(`date_cr`) )<3
ORDER BY suma_tovar ASC
) UNION ALL
(
SELECT tovar.rating, ROUND(t.suma/tovar.massa, 2) as suma_tovar, t.suma, tovar.massa, tovar.id as tovar_id ,t.is_confrim
FROM `tovar` tovar
JOIN price_top t ON t.tovar_id=tovar.id
WHERE t.is_confrim=0
" . $strWhereCategor . "
and ( week(NOW())-week(`date_cr`) )>2
ORDER BY suma_tovar ASC
) UNION ALL
(
SELECT tovar.rating, tovar.suma as suma_tovar, 0 as suma, tovar.massa, tovar.id as tovar_id ,3 as is_confrim
FROM `tovar` tovar
LEFT JOIN price_top t ON t.tovar_id=tovar.id
WHERE t.tovar_id IS NULL
" . $strWhereCategorNULL . "
)
";
В чем может быть проблема мне нужно получить все записи именно в том порядке как я сделал запросы. Пример
1 запрос вернул - 1 2 3 4 7
2 запрос вернул - 8 5 10 29
3 запрос вернул - 20 21 19 18
4 запрос вернул - 17 16 15 24
в итоге он должен вернуть
1 2 3 4 7 8 5 10 29 20 21 19 18 17 16 15 24