Re: SQL Query
От: seregaprog Узбекистан  
Дата: 21.05.03 10:59
Оценка: 8 (3)
Здравствуйте, 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
Re[5]: SQL Query
От: Alexey Shirshov Россия http://wise-orm.com
Дата: 23.05.03 09:27
Оценка: 1 (1) +1
Здравствуйте, Binary, Вы писали:

B>MySQl почемуто ругается


select x, d from Table where d<='2003.05.20' order by d desc limit 1
SQL Query
От: Binary Россия  
Дата: 21.05.03 04:41
Оценка:
Народ помогите созсавить запрос.
Имею таблицу с полем x(varchar(50)) и d(date)
Нужно сотавить запрос чтобы вибирались значения с определенной датой, если такой даты нет то ближайшее предыдушее значение.
Значение в поле x может быть одно.
Анология данного зпроса периодический реквизит в 1С.
Re[2]: SQL Query
От: Binary Россия  
Дата: 23.05.03 04:59
Оценка:
Здравствуйте, seregaprog, Вы писали:



S>select top 1 x, d from Table where d<='2003.05.20' order by d desc


что ошибочка выходит с top 1....
Может как по другому можно это сделать
Re[3]: SQL Query
От: seregaprog Узбекистан  
Дата: 23.05.03 08:47
Оценка:
Здравствуйте, 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 работает.
а по другому... Используй первую запись выборки.
ты напиши че за база. посмотрим мож там синтаксис особый
Re[4]: SQL Query
От: Binary Россия  
Дата: 23.05.03 09:01
Оценка:
MySQl почемуто ругается
Re[6]: SQL Query
От: Binary Россия  
Дата: 23.05.03 09:39
Оценка:
Спасибочки...
Сразу чтото не догадался про limit 1
Re: SQL Query
От: Быстрый  
Дата: 19.06.03 12:21
Оценка:
А так нельзя что-ли

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

Best regards
Re: SQL Query
От: KetchUp Inside aka Zig  
Дата: 19.06.03 13:00
Оценка:
Здравствуйте, 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


авось пригодится
Re[2]: SQL Query
От: Rumata Россия http://atamur.livejournal.com
Дата: 19.06.03 13:27
Оценка:
Здравствуйте, Быстрый, Вы писали:

Б>А так нельзя что-ли


Б>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

Нет. MySQL не поддерживает вложеные запросы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.