Очевидно, что проблема для плаката была решена более полувека назад, тем не менее, я хотел указать любому, кто читает этот пост в поисках помощи, что порядок выбранных свойств (столбцов) должен совпадать от одного объединенного оператора до следующий. Недостаточно просто сопоставлять имена и типы данных, хотя это в некотором смысле является основной причиной. Но из-за способа обработки операторов Union в Oracle можно получить ошибку ORA-01790 из-за несоответствия только в порядке расположения столбцов.
В моем случае у меня был запрос с UNION ALL из двух выборок. У одного выбора был столбец с именем «generic_column_name» в качестве 25-го элемента в выборе, а у другого выбора был тот же столбец с именем «generic_column_name» с тем же типом данных (я протестировал несколько способов с помощью жесткого кодирования, а также с помощью принудительного преобразования типов данных ). Однако у второго выбора этот элемент был на 19-м месте, поэтому все столбцы были смещены, и это вызвало ошибку ORA-01790.