sql - 基于多个条件计算两个日期之间的差异
问题描述
非常感谢您提供与以下情况相关的任何帮助。
我有 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`))
这是我在这里的第一个问题。提前感谢您的帮助和理解!
解决方案
推荐阅读
- python - WTF BooleanField 设置自定义值
- system-sounds - 更改电子设备的系统声音
- android - 从单独的前台服务访问位于应用程序缓存目录中的文件时权限被拒绝
- postgresql - Postgresql 更新 jsonb 数组列中的值
- google-bigquery - 基数 > 0 使用 BiqQuery
- excel - Excel 搜索索引和修剪匹配的行
- php - PHP - If 语句在假期显示特殊文本
- python - 列表中的函数 .assigned()
- visual-studio-code - VS 2017 和 2019 中缺少实体框架
- python - 使用 Python flask-restplus/x 在 Swagger 中订购参数