sql получить новейшую дату и цену всех инвентаризационных пунктов - PullRequest
0 голосов
/ 16 марта 2019

У меня есть эти таблицы sql, и мне нужно получить из всех предметов инвентаря самую новую дату из таблицы: заказы с ценой, уплаченной в эту дату

table:orders
id
date

table:order_items
order_id
inventory_id
price

table:inventory
item_number

если я сделаю что-то подобное:

SELECT inventory.item_number, orders.date, order_items.price
FROM inventory
INNER JOIN order_items ON inventory.id = order_items.inventory_id
INNER JOIN orders ON order_items.order_id = orders.id
WHERE max(orders.date)

это не работает, и я получаю ошибку. Как правильно это сделать

1 Ответ

2 голосов
/ 16 марта 2019

Вам нужно предложение where, но MAX() не может перейти туда напрямую.Попробуйте подзапрос:

SELECT i.item_number, o.date, orders.price
FROM inventory i INNER JOIN
     order_items oi
     ON i.id = oi.inventory_id INNER JOIN
     orders o
     ON oi.order_id = o.id
WHERE o.date = (SELECt max(o2.date) FROM orders o2);
...