gpt4 book ai didi

sql - 组合更新查询与单个更新语句

转载 作者:行者123 更新时间:2023-12-04 04:43:19 24 4
gpt4 key购买 nike

任何机构都可以建议如何将以下 4 个更新语句变成单个更新语句。

update dbo.FACOD set LowValue ='07/02/2010' where Fieldname in ('AYStartDate','Dateloanstart')and AwardYear='2012-13'
update dbo.FACOD set LowValue ='07/02/2011' where Fieldname in ('AYStartDate','Dateloanstart')and AwardYear='2013-14'

update dbo.FACOD set HighValue='06/30/2015' where Fieldname in ('AYEndDate','DateloanEnd')and AwardYear='2012-13'
update dbo.FACOD set HighValue='06/30/2016' where Fieldname in ('AYEndDate','DateloanEnd')and AwardYear='2013-14'

试过下面一个
UPDATE  dbo.FACOD
SET LowValue = CASE WHEN Fieldname in ('AYStartDate','Dateloanstart')and AwardYear='2012-13' THEN '07/02/2010' ELSE LowValue END,
HighValue = CASE WHEN Fieldname in ('AYEndDate','DateloanEnd')and AwardYear='2012-13'THEN '06/30/2015'ELSE HighValue END,

但它并不能满足所有的更新语句。

最佳答案

请尝试:

update 
dbo.FACOD
set
LowValue=(case when Fieldname in ('AYStartDate','Dateloanstart')and AwardYear='2012-13' then '07/02/2010'
when Fieldname in ('AYStartDate','Dateloanstart')and AwardYear='2013-14' then '07/02/2011'
else LowValue end),

HighValue=(case when Fieldname in ('AYEndDate','DateloanEnd')and AwardYear='2012-13' then '06/30/2015'
when Fieldname in ('AYEndDate','DateloanEnd')and AwardYear='2013-14' then '06/30/2016'
else HighValue end)
where
Fieldname in ('AYStartDate', 'Dateloanstart', 'AYEndDate', 'DateloanEnd')and
AwardYear IN ('2012-13', '2013-14')

关于sql - 组合更新查询与单个更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18565843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com