这应该在postgres中工作,其中连接是|| - 您必须将其更改为系统中的串联
背景:查找每个作业的第一次运行时间:
select k_r_job_no,min( L1_GA_SR_Creation_Date+L2_B_Start_time_Of_Activity) from
service_log_temp
group by k_r_job_no
问题是我们无法从这个查询中得到 ids ......
但我们可以将其用作子查询。由于通常不可能从子查询中获取多于一行,因此我们必须进行串联以获得每个作业的正确时间:(您可能需要进行类型转换才能使串联工作)
select key_service from service_log_temp where
k_r_job_no||L1_GA_SR_Creation_Date+L2_B_Start_time_Of_Activity in(
select k_r_job_no||min( L1_GA_SR_Creation_Date+L2_B_Start_time_Of_Activity)
from service_log_temp
group by k_r_job_no
)
这可以重写为更新:
update service_log_temp set Duplicate='Yes' where
k_r_job_no||L1_GA_SR_Creation_Date+L2_B_Start_time_Of_Activity in(
select k_r_job_no||min( L1_GA_SR_Creation_Date+L2_B_Start_time_Of_Activity)
from service_log_temp
group by k_r_job_no
)
然后之后
update service_log_temp set Duplicate='No' where Duplicate is null
(或者,如果您想在一个查询中使用 SRIRAM 建议的“案例”)