Добрый день. Есть 2 sql запроса:
$sql = mysql_query("SELECT * FROM tratingsumm INNER JOIN iezl2_users ON `tratingsumm`.`ID_Driver` = `iezl2_users`.`id` INNER JOIN trating ON `tratingsumm`.`ID_RatingSumm` = `trating`.`ID_Driver` WHERE `trating`.`ID_Pass`='".$iddr."' ORDER BY `tratingsumm`.`ID_RatingSumm` ") or die (mysql_error());
$sql2 = mysql_query("SELECT * FROM tratingsumm INNER JOIN iezl2_users ON `tratingsumm`.`ID_Driver` = `iezl2_users`.`id` WHERE NOT EXISTS (SELECT * FROM trating WHERE `trating`.`ID_Driver` = `tratingsumm`.`ID_RatingSumm` AND `trating`.`ID_Pass` = '".$iddr."') ORDER BY `tratingsumm`.`ID_RatingSumm`") or die (mysql_error());
При попытки объединения их через оператор UNION, пропадает подсветка синтаксиса и выдается ошибка. По отдельности каждый из запросов работает корректно. Пример - первый запрос выдает данные с id 1 и 3, второй с id 2 и 4, и идет поочередный вывод результатов запросов в порядке 1, 3, 2, 4. А объединение мне нужно, чтобы сделать общий ORDER BY на результаты объединенного запроса и добиться вывода 1, 2, 3, 4. Возможно ли их вообще объединить таким способом?
Изобрести вы ясно пытаетесь left join вот такого вида:
SELECT * FROM tratingsumm
INNER JOIN iezl2_users ON `tratingsumm`.`ID_Driver` = `iezl2_users`.`id`
left join trating ON `trating`.`ID_Driver` = `tratingsumm`.`ID_RatingSumm`
AND `trating`.`ID_Pass` = '".$iddr."'
ORDER BY `tratingsumm`.`ID_RatingSumm`
union же (или куда вероятнее подразумевался union all) собрать тоже можно. Необходимо учитывать, чтобы все элементы результата были совместимой структуру - у вас из-за дополнительного join в первом запросе select * явно выдаёт разное число полей. И второй момент с сортировкой - её необходимо указать так, чтобы парсер понял, что сортировать надо результат union, а не последний запрос. В общем виде так:
(select ...)
union all
(select ...)
order by ...
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости