Помогите с запросом

Remy

В таблице идет перечисление товаров прибывших на склад в разное время,нужно выбрать все товары прибывшие последними (не в одно и тоже время),то естьхлеб 12:01колбаса 12:00булка 11:45яйцо 10:00хлеб 9:45колбаса 9:45в выборке должно оказаться:хлеб 12:01колбаса 12:00булка 11:45яйцо 10:00спасибо.
12 ответов

Remy

select t1.tovar, t1.vremy from MyTable t1, MyTble t2 where
t1.tovar=t2.tovar and t1.vremy=
(select max(vremy) from MyTable t3 where t3.tovar=t1.tovar)
@@version


Remy

Намудрил
select Tovar, max(Vremy) from MyTable group by Tovar order by Tovar
@@version


Remy

спасибо, помогло


Remy

НЕТ, что-то я рано порадовался :(а если мне нужна еще одна или две колонки например тип продукта и его idТО запрос перестает работать, точнее он отрабатывает, но неправильно, выводит повторяющиеся записи :( .


Remy

а если мне нужна еще одна или две колонки
Тогда как раз первый вариант Урала


Remy

ДА, здорово, работает, а что делать с теми записями,у которых время одинаковое, к сожалению у меня и такие есть :)грубо говоря один и тот же товар пришел в одну и туже минуту,он по этому запросу тоже выбирается :)хлеб 12:01хлеб 12:01Хелп, спасибо :)


Remy

добавит в конце группировку
...
GROUP BY t1.vremy, t1.tovar


Remy

Спасибо проверю :)А можно еще помощь по одному запросу, надеюсь последнему:Мне нужно выбрать все записи с ID от XXX до YYYдумал так:SELECT * FROM Item WHERE ID = (SELECT ID FROM Report WHERE RName like '%XP%')Но ругается, видимо потому, что ID несколько получается, а что она автоматически не может их перебирать?


Remy

Видимо, так:
SELECT * FROM Item WHERE ID = ANY (SELECT ID FROM Report WHERE RName like '%XP%')
Только разве не проще сделать так:
SELECT * FROM Item WHERE ID BETWEEN XXX AND YYY
или я чего-то не понял?!


Remy

Можно еще и так:
SELECT * FROM Item WHERE ID IN (SELECT ID FROM Report WHERE RName like '%XP%')


Remy

ДА, здорово, работает, а что делать с теми записями,у которых время одинаковое, к сожалению у меня и такие есть :)грубо говоря один и тот же товар пришел в одну и туже минуту,он по этому запросу тоже выбирается :)хлеб 12:01хлеб 12:01Хелп, спасибо :)
ИД поле есть? Выбирай по его максимальному значению для данного продукта...Если надо именно по времени, то сделай datetime и будет тебе счастье в виде:2006-01-01 12:01:32.145


Remy

Спасибо так и сделал, по ID тобишь,дело в том, что я работаю с имеющейся таблицей которая создается сторонним ПО и переразбивать ничего незя.Все заработало, что нужно.Спасибо.