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

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

Помогите с SQL запросом! [D7, MSSQL]


Zelius ©   (2003-03-10 18:41:00) 

Есть таблица с полями Firm (название фирмы), Product (название продукта), Price ( цена продукта). Нужно выбрать самые дорогие товары каждой фирмы! Что бы от каждой фирмы было только по одному товару. Спасибо!


ermserg   (2003-03-10 20:19:00) [1]

a ti prover


Zelius   (2003-03-10 20:17:00) [2]

А distinct нужен? Такое ощущение, что при таком запросе он не нужен... И кстати, такая нотация distinct все равно будет работать на все поля записи?


ermserg   (2003-03-10 20:02:00) [3]

Uveren, chto eto mozhno optimizirovat


ermserg   (2003-03-10 20:00:00) [4]

select distinct(firm), price , product from test t1
where price = (select max(price) from test t2 where t1.firm = t2.firm group by firm)
and product = (select top 1 product from test t3 where t1.firm=t3.firm and t3.price=t1.price)


ermserg   (2003-03-10 19:56:00) [5]

primary key est?


Zelius   (2003-03-10 19:47:00) [6]

Все варианты выдадут на гора такой результат:

...
Вимбильдан, Сок, 10 р
Вимбильдан, Йогурт, 10 р.
...

Мне нужно, что бы в результате остался только один товар, любой, но один! Никак не пойму, как это сделать :(


ermserg   (2003-03-10 19:41:00) [7]

kakogo odnogo?


Zelius   (2003-03-10 19:38:00) [8]

Может быть несколько продуктов с одинаковой ценой, в итоге они все попадут в результат! Как отсеить все кроме одного?


ermserg   (2003-03-10 19:34:00) [9]

select firm, product, price from table1 t1
where price in (select max(price) from table1 t2 where t1.firm = t2.firm group by firm)


Zelius   (2003-03-10 19:19:00) [10]

Не совсем то что нужно, так как в результате будет несколько товаров на каждую фирму, а нужно взять только по одному!


ооо   (2003-03-10 18:58:00) [11]

select firm,product,max(price) from Table group by firm,product


Наверх

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