![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите составить запрос [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)