2015-10-21 3 views
-1

У меня вопрос о выборе строк из таблицы. Например, у меня есть таблица, которая содержит информацию о движении запаса. Я хочу выбрать код продукта, последнюю дату, самую последнюю цену каждого продукта в таблице.Нужна помощь при написании оператора select sql

фонда движения стол

Stock Movement Code Product code  Date   Price 
1      1   15.06.2015  9$ 
2      2   17.06.2015  10$ 
3      2   18.06.2015  8$ 
4      1   19.06.2015  7$ 
5      3   20.06.2015  11$ 
6      2   21.06.2015  12$ 
7      3   22.06.2015  13$ 

Я хочу, чтобы выбрать самую последнюю дату, последняя цена каждого изделия из приведенной выше таблицы.

Для этого примера я жду результата, как показано ниже.

Stock Movement Code Product code  Date   Price 
4      1    19.06.2015 7$ 
6      2    21.06.2015 12$ 
7      3    22.06.2015 13$ 

Не могли бы вы помочь мне написать SQL этого оператора select?

+0

Я думаю, что ваш результат для кода продукта = 1: со = 4. Право? –

ответ

4

Попробуйте это:

SELECT sm.* 
FROM stock_movement sm 
WHERE NOT EXISTS(
    SELECT 'NEXT' 
    FROM stock_movement sm2 
    WHERE sm2.[Product code] = sm.[Product code] 
    AND sm2.date > sm.date 
)