Помогите правильно составить запрос

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Sparton
Сообщения: 28
Зарегистрирован: 22 фев 2007, 10:38

Помогите правильно составить запрос

Сообщение Sparton » 18 окт 2007, 14:00

Имеется 2 табл EVENTS_MAIN и EVENTS. В первой указаны осн события, во второй конкретные события (для одного основного могут несколько конкретных) и дата. Необходимо выбрать осн события у которых конкретные проходят сегодня и в ближайшие 7 дней.
Вот такой запрос.

Код: Выделить всё

SELECT distinct(ev.ID), ev.NAME,
(select first 1 skip 0 e.data_on from events e where ev.id=e.id_id order by e.data_on desc) data
FROM EVENTS_MAIN ev
WHERE ev.ID>0 and data>current_date AND data<current_date+7
order by  data
IBExpert выдает ошибку
SQL error code = -206.
Column unknown.
DATA.
unknown ISC error 336397208.
Где ошибка?

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Re: Помогите правильно составить запрос

Сообщение WildSery » 18 окт 2007, 14:12

Sparton писал(а):SELECT distinct(ev.ID), ev.NAME,
distinct работает для всей строки, это не функция
Sparton писал(а):WHERE ev.ID>0 and data>current_date AND data<current_date+7
Нельзя в WHERE обращаться к алиасу поля. Можно написать только целиком.
Sparton писал(а):unknown ISC error 336397208.
Похоже, что у тебя неправильный .MSG файл.

Sparton
Сообщения: 28
Зарегистрирован: 22 фев 2007, 10:38

Re: Помогите правильно составить запрос

Сообщение Sparton » 18 окт 2007, 14:19

Спасибо! Сработало.
А вот что выдает по ошибкам
can't format message 13:794 -- message file C:\Program Files\HK-Software\firebird.msg not found.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
DATA.
unknown ISC error 336397208
Как можно исправить?

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 18 окт 2007, 14:32

Можно правильно установить firebird, из дистрибутива.
Обычно после этого всё в наличии и находится :)

Sparton
Сообщения: 28
Зарегистрирован: 22 фев 2007, 10:38

Сообщение Sparton » 18 окт 2007, 14:35

WildSery писал(а):Можно правильно установить firebird, из дистрибутива.
Обычно после этого всё в наличии и находится :)
Благодарю! Переустановлю.

Ответить