![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос отказывается работать? [D5, IB5.x, ]
Dim © (2002-01-18 12:28:00)Добрый день коллеги. Набросал запрос для получения набора данных из БД InterBase 5.5:
SELECT DISTINCT c.change_id as id, c.change_pairnum as pair,
c.change_date as data,
g.group_name as groups,
(h.h_surname||" "||SUBSTR(h.h_name,1,1)||". "||
SUBSTR(h.h_patronymic,1,1)||". ") as prep,
l.name as less,
hi.h_surname||" "||SUBSTR(hi.h_name,1,1)||". "||
SUBSTR(hi.h_patronymic,1,1)||". ") as prepin,
li.name as lessin
FROM ep_change c, dean_groups g, dean_lesson l, dean_lesson li,
ok_human h, ok_human hi
WHERE c.change_group=g.group_id and
c.change_date="14.01.2002" and
c.change_lessonout=l.id and
c.change_teacherout=h.h_id and
(c.change_lessonin=li.id) and
(c.change_teacherin=hi.h_id)
UNION
SELECT c.change_id as id,
c.change_pairnum as pair, c.change_date as data,
g.group_name as groups,
h.h_surname||" "||SUBSTR(h.h_name,1,1)||". "||
SUBSTR(h.h_patronymic,1,1)||". " as prep,
l.name as less,
"нет" as prepin,
"нет" as lessin
FROM ep_change c, dean_groups g, dean_lesson l,
ok_human h, ok_human hi
WHERE c.change_group=g.group_id and
c.change_date="14.01.2002" and
c.change_lessonout=l.id and
c.change_teacherout=h.h_id and
c.change_lessonin=0 and
c.change_teacherin=0
Вроде бы запрос как запрос, но что странно, все это вместе не работает, а по отдельности оба Select"а работают и выдают то что надо. Если запустить как есть то вылетает ошибка типа
"General SQL Error
Invalid command
Data type unknown". Если не сильно затруднит, то подскажите как с этим справиться.
Заранее благодарю за помощь.Дмитрий.
Dim (2002-01-18 13:12:00) [1]Большое спасибо, все получилось.
Удачи и процветания.Дмитрий
Awex (2002-01-18 12:43:00) [2]В первом запросе постледний столбец - li.name as lessin
В последнем запросе постледний столбец - "нет" as lessin
попробуй так:
если допустим li.name у тебя VARCHAR(127)
то "нет" as lessin долно выглядеть примерно так CAST("нет" AS VARCHAR(127)) as lessin
Ну и просмотри остальные столбцы на коректность типов, если есть какие то сомнения приводи к определенному типу лучше явно.