|
|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : Alex Kosobokov 2:5020/400 15 Mar 2001 18:03:55 To : All Subject : История значения -------------------------------------------------------------------------------- Hi, All! Подскажите пожалуйста, как лучше построить запрос. Имеем следующее: Таблица с товарами: create table goods (id int identity(1,1) not null, name char(40) not null constraint pk_goods primary key clustered (id)) Таблица с ценами: create table history (id int identity(1,1) not null, goods_id int not null, price money not null, price_date datetime not null constraint pk_history primary key clustered (id), constraint fk_history foreign key (goods_id) references goods (id)) Теперь мне надо получить список товаров с ценами на определенную дату. Я сделал нечто вроде: select a.goods_id from history as a join (select max(price_date) maxdate, goods_id from history where price_date <= '<some date>' group by goods_id) as b on a.goods_id = b.goods_id where a.price_date <= '<some date>' and a.price_date=b.maxdate Только мне кажется, что больно медленно сия конструкция работает. Может можно по-другому? P.S. MS SQL 7.0 SP1 С уважением, Александр Кособоков kosobokoff@mtu-net.ru --- ifmail v.2.15dev5 * Origin: MTU-Intel ISP (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/910473c53ed8.html, оценка из 5, голосов 10
|