Народ помогите созсавить запрос.
Имею таблицу с полем x(varchar(50)) и d(date)
Нужно сотавить запрос чтобы вибирались значения с определенной датой, если такой даты нет то ближайшее предыдушее значение.
Значение в поле x может быть одно.
Анология данного зпроса периодический реквизит в 1С.
Здравствуйте, Binary, Вы писали:
B>Народ помогите созсавить запрос. B>Имею таблицу с полем x(varchar(50)) и d(date) B>Нужно сотавить запрос чтобы вибирались значения с определенной датой, если такой даты нет то ближайшее предыдушее значение. B>Значение в поле x может быть одно. B>Анология данного зпроса периодический реквизит в 1С.
приблизительно вот так.
select top 1 x, d from Table where d<='2003.05.20' order by d desc
Здравствуйте, Binary, Вы писали:
B>Здравствуйте, seregaprog, Вы писали: S>>select top 1 x, d from Table where d<='2003.05.20' order by d desc
B>что ошибочка выходит с top 1.... B>Может как по другому можно это сделать
А что за база то?
я ща проверил top 1 даже в accesse работает.
а по другому... Используй первую запись выборки.
ты напиши че за база. посмотрим мож там синтаксис особый
select x,d from (
select max(d) ma,x x,d d from table1
where d<='19.06.2003' group by x,d )
where ma=d
Здравствуйте, Binary, Вы писали:
B>Народ помогите созсавить запрос. B>Имею таблицу с полем x(varchar(50)) и d(date) B>Нужно сотавить запрос чтобы вибирались значения с определенной датой, если такой даты нет то ближайшее предыдушее значение. B>Значение в поле x может быть одно. B>Анология данного зпроса периодический реквизит в 1С.
Re: SQL Query
От:
Аноним
Дата:
19.06.03 12:55
Оценка:
Здравствуйте, Binary, Вы писали:
B>Народ помогите созсавить запрос. B>Имею таблицу с полем x(varchar(50)) и d(date) B>Нужно сотавить запрос чтобы вибирались значения с определенной датой, если такой даты нет то ближайшее предыдушее значение. B>Значение в поле x может быть одно. B>Анология данного зпроса периодический реквизит в 1С.
для Оракла:
select * from (select d from TABLE where d <= DATE order by d desc) where rownum=1
Здравствуйте, Binary, Вы писали:
B>Народ помогите созсавить запрос. B>Анология данного зпроса периодический реквизит в 1С.
периодические реквизиты 1Са я выбираю так (на MySQL'е не прокатит):
select Товары.*, valСтавкаНДС.value as СтавкаНДС
from sc1171 as Товары
left join
(
select objid, max(date) as maxdate
from _1sconst
where id = 1272 and date <= @dataform
group by objid
) as mdСтавкаНДС
on Товары.id = mdСтавкаНДС.objid
left join _1sconst as valСтавкаНДС
on valСтавкаНДС.id = 1272 and Товары.id = valСтавкаНДС.objid and mdСтавкаНДС.maxdate = valСтавкаНДС.date
Здравствуйте, Быстрый, Вы писали:
Б>А так нельзя что-ли
Б>select x,d from ( Б> select max(d) ma,x x,d d from table1 Б> where d<='19.06.2003' group by x,d ) Б>where ma=d