Синтаксическая ошибка SQL в или рядом с "union"
у меня есть небольшой запрос и объединение, чтобы поместить рядом с ним другой небольшой запрос. Однако в union есть синтаксическая ошибка.
Select <column1>
,<column2>
From <Table1>
<Some joins in there>
Where <conditions>
group by <column2>
order by <column2>
union
select <column2>
,<column3>
,<column4>
From <Table2>
<Some more joins here>
Where <conditions>
group by <column2>
order by <column2>
Это ошибка, которую я получаю
ERROR: Syntax error at or near 'union'
2 ответов
Я вижу, что был неправ. Вы должны разместить заказ в конце запроса, и только в самом конце. Это дало мне ошибку, потому что он думал, что запрос уступил.
Select <column1>
,<column2>
,<aggregate column3>
From <Table1>
<Some joins in there>
Where <conditions>
group by <column2>, <column1>
union
select <column2>
,<column3>
,<aggregate column4>
From <Table2>
<Some more joins here>
Where <conditions>
group by <column2>, <column3>
order by <column2>
это сделало трюк.
короткий ответ: (SELECT... ORDER BY..) UNION (SELECT .. ORDER BY...)
работает.
посмотреть документация о UNION
:
пункт Союза
предложение UNION имеет следующую общую форму:
Союз аргумент select_statement [ все | отличных ] аргумент select_statement
select_statement - любой оператор SELECT без ордера BY, LIMIT, Для не ключ обновления для обновления, для обмена, или для ключевых пункта поделиться. (заказ и предел могут быть прикреплено к подвыражению, если оно заключено в скобки. Без скобок, эти положения будут принято применять к результату объединения, а не к его правому входу выражение.)