【问题标题】:sql get newest date and price of all inventory_itemssql获取所有库存项目的最新日期和价格
【发布时间】:2019-03-16 18:40:19
【问题描述】:

我有这个 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)

它不工作,我得到一个错误。 这样做的正确方法是什么

【问题讨论】:

  • 查找GROUP BYclause,然后您可以获得每个分组项目的最大日期

标签: sql date max where


【解决方案1】:

你需要一个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);

【讨论】:

    猜你喜欢
    • 2014-10-23
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 2015-05-03
    • 2010-09-08
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多