首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL:在成本不断变化的情况下如何获取成本

MySQL:在成本不断变化的情况下如何获取成本
EN

Stack Overflow用户
提问于 2022-06-23 06:14:32
回答 1查看 41关注 0票数 0

我有以下数据

代码语言:javascript
运行
复制
Tabel A     
product date    qty
A       1/6/22  1
A       5/6/22  2
A       9/6/22  5
B       2/6/22  6 


Table B     
product dailydate   cost
A       1/6/22      20
A       8/6/22      50
B       1/6/22      10
B       8/6/22      40 

我需要按日期和产品计算成本。

表B中的成本条件将从最低日期开始(使用栏日),直到同一产品出现新的成本,如产品A的成本/单位在(1/6-7/6为20,从8/6-15/6,产品的成本/单位为50 )。

这个查询应该是什么样的呢?

EN

回答 1

Stack Overflow用户

发布于 2022-06-23 06:54:41

这是我所能想到的最好的:

代码语言:javascript
运行
复制
SELECT 
*,
CASE 
WHEN (SELECT cost FROM tableB WHERE tableB.product=tableA.product AND tableA.date <= tableB.daily_date LIMIT 1) IS NOT NULL 
    THEN ((SELECT cost FROM tableB WHERE tableB.product=tableA.product AND tableA.date <= tableB.daily_date LIMIT 1))
    ELSE (SELECT cost FROM tableB WHERE tableB.product=tableA.product ORDER BY daily_date DESC LIMIT 1)
END AS cost
FROM tableA;

DB Fiddle

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72725339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档