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