【发布时间】:2018-12-17 10:26:14
【问题描述】:
请考虑以下关于 SQLite 中计算两个日期之间差异的问题:
我有一个包含以下信息的表格,其中有 2 个不同的案例。此表中的每个项目代表 2 个可能案例中的 1 个。
Project name | date | date1 | StageDuration* (header row)
Project1 | 2018-12-01 |-(no date or NULL) |16
Project2 | 2018-12-14 | 2018-12-06 |3
Project2 | 2018-11-30 | 2018-12-06 |3
对于项目 2(第二种情况),可能有 2 行,因为给定的表是左连接的结果。项目名称和日期列来自表 1,项目名称、日期 1、StageDuration 列来自表 2。如果我在表 1 中有超过 1 行,在表 2 中有 1 行,我会在连接表中得到 2 行(就像在这个示例)。
目前我使用以下 SQLite 代码来获取 case1/project1 的持续时间:
select *,
case when `date` IS NULL then `StageDuration` else '' end
as "Duration"
from report
它适用于项目 1。我要解决的问题是调整代码并获得第二个案例(project2)的条件也包含在其中。
我期望的条件是
if count(dates from report 1/date)>count(dates from report 2/date1)
差异应该是(我需要的持续时间)计算为
today - max(JULIANDAY(`date`))
非常感谢您的帮助。这是我的第二个问题。提前感谢您的时间和理解。
【问题讨论】: