Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Помогите с запросом

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

IvanovSerg

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
select stattalon.fam,stattalon.im,stattalon.ot,stattalon.dr,stattalon.soc,stattalon.d_za, (datediff(year from stattalon.dr to stattalon.d_za)) as Voz
From   stattalon
where  (stattalon.soc in (4,5,2)) and (stattalon.d_za>='01.01.2014' and stattalon.d_za<'01.09.2014') and (Voz = 30)
 
Почему не видит колонку Voz?

Всего записей: 3 | Зарегистр. 09-10-2008 | Отправлено: 07:00 18-09-2014
exteris

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Прям так и говорит - "Не вижу колонку"?
 
Добавлено:
И да, если это Firebird, то такой синтаксис не поддерживается.

Всего записей: 382 | Зарегистр. 14-04-2003 | Отправлено: 12:43 18-09-2014
YuriyRR



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
поробуй in were
and (datediff(year from stattalon.dr to stattalon.d_za)) = 30

Всего записей: 516 | Зарегистр. 07-06-2007 | Отправлено: 14:07 18-09-2014
idiMAN

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
IvanovSerg
Напиши, что за СУБД ты используешь и какая ошибка появляется

Всего записей: 466 | Зарегистр. 05-05-2003 | Отправлено: 12:52 20-09-2014
protoror



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
IvanovSerg
И не увидит, если там у него несколько колонок voz в таблицах

Всего записей: 494 | Зарегистр. 23-11-2009 | Отправлено: 09:26 22-09-2014
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Почему не видит колонку Voz?

Потому, что она вводится после того, как обрабатывается условие отбора данных. Нужно писать так:

Код:
select * from  
  (select stattalon.fam,stattalon.im,stattalon.ot,stattalon.dr,stattalon.soc,stattalon.d_za, (datediff(year from stattalon.dr to     stattalon.d_za)) as Voz  
   From   stattalon  
   where  (stattalon.soc in (4,5,2)) and (stattalon.d_za>='01.01.2014' and stattalon.d_za<'01.09.2014'))
) where (Voz = 30)  
 

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 16:55 03-12-2014 | Исправлено: landy, 16:56 03-12-2014
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Помогите с запросом


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru