دستور update در sql
سلام دوستان
در sql دستوری هست که به جای اینکه 10 بار دستور update رو به کار ببرم ، بتونم یکجا 10 رکورد رو update کنم؟
مثل:
update test table
set [year] = 1399
where [PeriodEndTo]>'2020-03-19' and [PeriodEndTo]<'2021-03-21'
update update test table
set [year] = 1398
where [PeriodEndTo]>'2019-03-20' and [PeriodEndTo]<'2020-03-20'
update update test table
set [year] = 1397
where [PeriodEndTo]>'2018-03-20' and [PeriodEndTo]<'2019-03-21'
update update test table
set [year] = 1396
where [PeriodEndTo]>'2017-03-20' and [PeriodEndTo]<'2018-03-21'
update update test table
set [year] = 1395
where [PeriodEndTo]>'2016-03-19' and [PeriodEndTo]<'2017-03-21'
update update test table
set [year] = 1394
where [PeriodEndTo]>'2015-03-20' and [PeriodEndTo]<'2016-03-20'
update update test table
set [year] = 1393
where [PeriodEndTo]>'2014-03-20' and [PeriodEndTo]<'2015-03-21'
1 پاسخ
سلام دستور آپدیت با توجه به شرطی که براش در نظر گرفته میشه می تونه روی یک یا چند رکورد تاثیر بذاره
در کوئری که شما گذاشتید باید رابطه ریاضی بین تاریخ ها و سال مورد نظر رو پیدا کنید و با توجه به اون عمل آپدیت رو انجام بدید که فقط یک دستور نوشته بشه.