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

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

Помогите составить запрос [D6, Firebird]


RDA ©   (2006-06-07 14:22:00) 

Есть таблица А с полями
A_ID Integer
A_YEAR (год) Integer
A_MONTH (месяц) Integer

Необходимо выбрать все неповторяющиеся записи которые попадают между двумя датами, например между '01.01.2005' и '31.12.2006'


RDA   (2006-06-07 17:25:00) [1]

Johnmen
спасибо


Johnmen   (2006-06-07 16:43:00) [2]


> RDA   (07.06.06 15:21) [4]
> а как быть если между '01.05.2005' и '01.02.2006'


Типа того
CAST('01.'||A_MONTH||'.'||A_YEAR AS DATE) BETWEEN  CAST('01.05.2005' AS DATE) AND CAST('01.02.2006' AS DATE)
возможно, к месяцу надо будет добавить ведущий 0.


Sergey13   (2006-06-07 15:25:00) [3]

2 [4] RDA   (07.06.06 15:21)
Ты сам напроектировал такую БД. Тебе и разбираться.
В запросе может быть несколько условий с AND, OR и т.п. Или UDF подключай, которая твои года/месяцы в дату переведет. Насколько я помню стандартной такой нет.


RDA   (2006-06-07 15:22:00) [4]

нет ли возможности как-то сравнить по типу DATE, если учесть что день всегда = 1


RDA   (2006-06-07 15:21:00) [5]

а как быть если между '01.05.2005' и '01.02.2006'


Sergey13   (2006-06-07 15:13:00) [6]

2[2] _dimka ©   (07.06.06 15:02)
A_ID по любому даст неповторяемость. 8-)


_dimka   (2006-06-07 15:02:00) [7]

только наверно
select distinct* from table where A_YEAR in (2005,2006)

т.к. выбрать все неповторяющиеся записи


Sergey13   (2006-06-07 14:33:00) [8]

Seelct * from table where A_YEAR in (2005,2006)


Наверх

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