Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как осуществить этот запрос, помогите 
:(
    Опции темы
FYoung
Дата 28.5.2007, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 5.11.2006

Репутация: нет
Всего: нет



Существует таблица Items с набором данных:

item       price        supplier      
-------- ----------- ----------------- 
a             10          x
a             14          y
b             15          x
b             10          y
c             11          z
a             11          z

Необходимо создать запрос для выборки item, минимального price и соответствующего supplier, результат:

item       price        supplier      
-------- ----------- ----------------- 
a             10          x
b             10          y
c             11          z

Получается извлечь только item и price вот так: SELECT item, min(price) from Items GROUP BY item
А как еще для него извлечь соответствующий supplier ?

PM MAIL   Вверх
Fin
Дата 28.5.2007, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: нет
Всего: 10



Индефикаторное поле есть у этой таблици?


--------------------
Пролетал мимо.
PM MAIL   Вверх
Fin
Дата 28.5.2007, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: нет
Всего: 10



Путем махания бубном, у меня получилось следующее smile

Код

CREATE TABLE #Temp
(
    [item] [nchar](10) NOT NULL,
    [price] [int] NOT NULL,
) 

insert into #Temp
SELECT item, min(price) as price from Items GROUP BY item

select i.item, i.price, i.supplier from #temp t, items i where t.item=i.item and t.price=i.price 

drop table #Temp
 

Это сообщение отредактировал(а) Fin - 28.5.2007, 23:41


--------------------
Пролетал мимо.
PM MAIL   Вверх
AlexxxM
Дата 29.5.2007, 16:36 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 15.5.2007

Репутация: нет
Всего: нет



Можно еще так:
SQL
Select a.supplier, b.Item, b.minprice
From Items as a  INNER JOIN (SELECT item, min(price) as minprice from Items GROUP BY item) as b
ON a.item = b.Item and a.price = b.minprice

PM MAIL   Вверх
FYoung
Дата 29.5.2007, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 5.11.2006

Репутация: нет
Всего: нет



Спасибо, работает!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.1432 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.