首页 > 解决方案 > 基于多个条件计算两个日期之间的差异

问题描述

非常感谢您提供与以下情况相关的任何帮助。

我有 2 个表和第 3 个表,这是这 2 个表的连接表。

每个表都包含有关阶段更改的信息,其中对于我的计算而言重要的是阶段字段的旧值、新值和更改日期。

如果表 1 中只有 date1,我使用以下 SQLite 代码

select *,         case when `Duration1` = 0 then 1 else Duration1 end as "Duration1"

from 
(select * ,

coalesce(JULIANDAY(`date2`) - JULIANDAY(`date1`), `report2: Stage Duration`)
as "Duration1"
from table)`

在理想情况下,表 1 包含项目和第一个日期 (date1),表 2 包含项目和第二个日期 (date2)。我可以加入他们,我可以得到第一个和第二个日期的第三张桌子,并计算那里的两个日期之间的差异。

当我在表 1 中有 2 个日期和在表 2 中有 1 个日期时,会出现并发症。在这里我需要帮助。我想在 SQL 代码中添加一个条件说

if count(dates from report 1/date1)>count(dates from report 2/date2) 

差异应该是(我需要的持续时间)计算为

today - max(JULIANDAY(`date1`)) 

这是我在这里的第一个问题。提前感谢您的帮助和理解!

标签: sqlsqlitedate-differencejulian-date

解决方案


推荐阅读