Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 из двух таблиц нужно выбрать максимальные записи  [new]
Vladimir410
Member

Откуда: Москва
Сообщений: 186
declare @t1 table (numb int, name char(60))
declare @t2 table (zakaz int, numb int, price int)
insert @t1 VALUES (1,'Иванов')
insert @t2 VALUES (1,1, 100)
insert @t2 VALUES (2,1, 200)

SELECT name,zakaz,price FROM @t1 t1, @t2 t2 WHERE t1.numb=t2.numb
сейчас этот запрос выдает все записи.
Мне нужно получить для каждой строки из @t1 строчку из @t2 с максимальным price.
10 июл 09, 12:21    [7401243]     Ответить | Цитировать Сообщить модератору
 Re: из двух таблиц нужно выбрать максимальные записи  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
SELECT top 1 name,zakaz,price FROM @t1 t1, @t2 t2 WHERE t1.numb=t2.numb
order by row_number() over(partition by t2.numb order by t2.price desc)
10 июл 09, 12:35    [7401338]     Ответить | Цитировать Сообщить модератору
 Re: из двух таблиц нужно выбрать максимальные записи  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Паганель
SELECT top 1 with ties name,zakaz,price FROM @t1 t1, @t2 t2 WHERE t1.numb=t2.numb
order by row_number() over(partition by t2.numb order by t2.price desc)
очепятка была
10 июл 09, 12:39    [7401360]     Ответить | Цитировать Сообщить модератору
 Re: из двух таблиц нужно выбрать максимальные записи  [new]
_djХомяГ
Guest
SELECT  name,zakaz,price FROM @t1 t1 outer apply (select top 1 * from @t2 t2 where t2.numb=t1.numb order by price desc) tt
10 июл 09, 12:48    [7401434]     Ответить | Цитировать Сообщить модератору
 Re: из двух таблиц нужно выбрать максимальные записи  [new]
Vladimir410
Member

Откуда: Москва
Сообщений: 186
благодарю. Проверил оба решения - работают правильно.
10 июл 09, 13:59    [7401950]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить