我有2个表,一个用于产品销售,另一个用于供应商的产品订单。
销售表包含:(ProductID,销售日期,客户ID等)
订单表包含(ProductID,订单日期,供应商ID等)。
销售表上的每个产品都被多次出售,Orders表的每个产品都被多次订购。
对于每个产品ID,我想查询销售表,以仅返回该产品的销售日期高于该产品的最早订单日期的行。例如,可能有一个产品甚至在第一次从供应商订购之前就被出售了,对于每个产品ID,我想要消除那些带有这些日期的行,并且只保留那些来自供应商最早订单之后的行。有关如何在GREEN
,YELLOW
或SQL
中执行此操作的任何想法?谢谢!
ProductID | Sale_date | 客户id
ProductID | Order_Date | 供应商ID
任何帮助或提示都将不胜感激!
答案 0 :(得分:0)
select s.*, o.*
from sales s
inner join (select product.id,min(order_date) min_order_date, supplier_id from orders) o
on s.product_id = o.product_id and s.sale_date > o.min_order_date
如果我理解正确,上面应该做的伎俩!
在任何情况下都不要犹豫,在这里发表更多问题评论:)
泰德