Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Interbase обозвал union как Invalid token (( [D7, IB6.x]


overword ©   (2004-03-18 16:40:00) 

Помогите пожалуйста, мастера!
Надо сделать запрос из групп и подгрупп (отделы и персонал). В BDE делал запросто, а IB меня вежливо послал - говорит, Invalid token. Без UNION все работает по отдельности.
Что не так?
Вот текст запроса:

select 1 GRP, departments.DEP_ID, departments.DEP_NAME
from departments
union
select 0, personnel.DEP_ID, personnel.P_NAME
from personnel
order by DEP_ID, GRP desc


overword   (2004-03-19 13:36:00) [1]

Понял, спасибо!


Desdechado   (2004-03-19 12:29:00) [2]

поставь CAST( 1 AS INTEGER )


Johnmen   (2004-03-19 09:54:00) [3]

>overword  

Тогда в [8] ошибок нет !


overword   (2004-03-19 09:44:00) [4]

Тоже совпадают, оба INTEGER...


Johnmen   (2004-03-19 09:41:00) [5]

Тогда не совпадают departments.DEP_ID и personnel.DEP_ID.
Других причин нет. Или не видно из-за недостатка входной инфы.


overword   (2004-03-19 09:36:00) [6]

2 Johnmen
Совпадают! Оба - CHAR(24)...


Johnmen   (2004-03-19 09:30:00) [7]

Типы полей в соотв. селектах должны полностью совпадать !
departments.DEP_NAME и personnel.P_NAME не совпадают...


overword   (2004-03-19 08:22:00) [8]

Прошу извинить за ошибку, вот запрос:

select 1, departments.DEP_ID, departments.DEP_NAME
from departments
union
select 0, personnel.DEP_ID, personnel.P_NAME
from personnel

и сообщение об ошибке:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid command.
Data type unknown.


overword   (2004-03-19 08:00:00) [9]

Конкретный запрос:
select 1 GRP, departments.DEP_ID, departments.DEP_NAME
from departments
union
select 0, personnel.DEP_ID, personnel.P_NAME
from personnel

Конкретная ошибка:
select 1 GRP, departments.DEP_ID, departments.DEP_NAME
from departments
union
select 0, personnel.DEP_ID, personnel.P_NAME
from personnel


Desdechado   (2004-03-18 19:14:00) [10]

знаю, что в подзапросах UNION не канает
может, это твой случай?


Johnmen   (2004-03-18 17:09:00) [11]

Приведи полностью сообщение об ошибке.
И кстати, при юнионе без ALL все и так будет отсортировано. Просто укажи др.последовательность полей в селекте...


Соловьев   (2004-03-18 17:08:00) [12]

А так?
select 1 as GRP, departments.DEP_ID, departments.DEP_NAME
from departments
union
select 0 as GRP, personnel.DEP_ID, personnel.P_NAME
from personnel


overword   (2004-03-18 16:53:00) [13]

Да ORDER вообще можно убрать! Он без него ругается ((


Johnmen   (2004-03-18 16:47:00) [14]

order by 2, 1 desc


HSolo   (2004-03-18 16:47:00) [15]

order by 2, 1 desc


Наверх

Титульная страница Поиск, карта сайта Написать письмо