Ошибка "query block has incorrect number of result columns": опасайтесь непрямоугольных запросов
Если при работе с Terrasoft 3.x при попытке открыть датасет возникает такая ошибка, дело, скорее всего, в select query, использующем UNION. К примеру, такой запрос есть в основном реестре раздела проектов (sq_Project) и в механизме напоминаний (sq_Remindings).
Причина проблемы - разное количество полей в двух ветках UNION ALL. Также, вполне может быть, у полей с одинаковым названием в одной ветви стоит галочка "всегда выбирать в запросе", а в другой - по ошибке снята или просто не указана при создании механизма напоминаний для самодельных разделов. Для исправления ошибки нужно привести поля к одинаковому виду.
Проще говоря, код
работает, а
вызывает ошибку.
MS SQL ругается так: All queries combined using a UNION, INTERSECT or EXCEPT operator must have an equal number of expressions in their target lists
А Oracle: ORA-01789: query block has incorrect number of result columns
Не дайте им для этих слов ни единого повода!