Oracle говорит, что вы не можете отсортировать результат по столбцу, который не содержится в списке столбцов SELECT
;например, в этом простом примере схемы Скотта:
SQL> select ename from emp
2 union
3 select dname from dept
4 order by substr(ename, 1, 3);
order by substr(ename, 1, 3)
*
ERROR at line 4:
ORA-01785: ORDER BY item must be the number of a SELECT-list expression
Я бы сказал, что сортировка - это наименьшая из ваших проблем в настоящее время.UNION
не вернет два столбца;удалите ORDER BY
и убедитесь сами - если вам повезет , вы получите один столбец.
Это то, что вы делаете сейчас:
select col from studenti
union
select another_col from profesori
хотя вы хотите получить предложение
select col, another_col
from ...
FROM
сложно, так как кажется, что вы выбираете из двух разных таблиц.Можете ли вы присоединиться к ним, чтобы запрос выглядел как второй вариант?Если нет, вы всегда можете сделать декартово произведение, но это, скорее всего, будет неправильный результат.
Было бы полезно, если бы вы предоставили образец входных данных и объяснили, как получить результат из этого ввода.