使用SQL根据查询中的值创建和填充列

使用SQL根据查询中的值创建和填充列,sql,postgresql,transform,Sql,Postgresql,Transform,有没有一种方法,而且我确信有,使用SQL从一个SQL语句中获取结果,只返回MAX(date)行的结果,该行返回的列中填充了找到的日期/基于原始SQL语句中的值 相应的日期字段(dttm)应填充bug_id满足条件的第一个日期,即在下面的示例中,根据我们在积压中存储的数据量,积压将为2019-01-09(我们在datalake中只存储了大约2年的数据),并验证为2019-01-14 理想情况下,我们会在这个场景中使用defect*_day _flagtrue | FALSE值,因为这些列由现有的E

有没有一种方法,而且我确信有,使用SQL从一个SQL语句中获取结果,只返回MAX(date)行的结果,该行返回的列中填充了找到的日期/基于原始SQL语句中的值

相应的日期字段(dttm)应填充bug_id满足条件的第一个日期,即在下面的示例中,根据我们在积压中存储的数据量,积压将为2019-01-09(我们在datalake中只存储了大约2年的数据),并验证为2019-01-14

理想情况下,我们会在这个场景中使用defect*_day _flagtrue | FALSE值,因为这些列由现有的ETL代码填充,这些ETL代码根据定义的待办事项v来标记这些值。解决等

例如,我有一个类似于以下的表/视图,我想将其用作我的“输入”或源:

phase_date  bug_id  creation_dttm   severity    status  defect_regression_day_flag  defect_reopen_day_flag  defect_backlog_day_flag defect_resolution_day_flag  defect_rejected_day_flag    defect_verified_day_flag    defect_failedtest_day_flag
2019-01-09  113998  2004-01-21 3:15:24  medium  NEW        FALSE    FALSE   TRUE    FALSE   FALSE   FALSE   FALSE
2019-01-10  113998  2004-01-21 3:15:24  medium  NEW        FALSE    FALSE   TRUE    FALSE   FALSE   FALSE   FALSE
2019-01-11  113998  2004-01-21 3:15:24  medium  ASSIGNED    FALSE   FALSE   TRUE    FALSE   FALSE   FALSE   FALSE
2019-01-12  113998  2004-01-21 3:15:24  medium  IN PROGRESS FALSE   FALSE   TRUE    FALSE   FALSE   FALSE   FALSE
2019-01-13  113998  2004-01-21 3:15:24  medium  IN PROGRESS FALSE   FALSE   TRUE    FALSE   FALSE   FALSE   FALSE
2019-01-14  113998  2004-01-21 3:15:24  medium  VERIFIED    FALSE   FALSE   FALSE   FALSE   FALSE   TRUE    FALSE
2019-01-15  113998  2004-01-21 3:15:24  medium  CLOSED  FALSE   FALSE   TRUE    TRUE    FALSE   FALSE   FALSE
生成以下

bug_id  creation_dttm   severity    status  regression_dttm reopen_dttm backlog_dttm    resolution_dttm rejected_dttm   verified_dttm   failed_test_dttm
113998  2004-01-21 3:15:24  medium  CLOSED         NULL          NULL   2019-01-09         2019-01-15       NULL          2019-02-14        NULL

请注意,这不是系统中唯一的错误,有数千个,这只是一个错误示例。

您使用的是哪种DBMS产品?“SQL”只是一种查询语言,而不是特定数据库产品的名称。这是一个基于TEID的JBoss数据虚拟化视图。通常,适用于postrgresql的sql在这里也适用。