select MIDIRB, IRBT.ID as IRBT_ID,IRBT.IRBRATING as IRBT_IRBRATING,ACRT.NEGWATCH as ACRT_NEGWATCH,case when ACRT.NEGWATCH = 1 then (SELECT IRBT.IRBRATING FROM IRBT I WHERE I.ID = (IRBT.ID +1)) ELSE IRBT.IRBRATING end,*FROM ACRT inner join IRBTon IRBT.MOODYSRATE = ACRT.MOODYSRATE
-- try thisselect MIDIRB, IRBT.ID as IRBT_ID, IRBT.IRBRATING as IRBT_IRBRATING, ACRT.NEGWATCH as ACRT_NEGWATCH, Newcolumn = case when ACRT.NEGWATCH = 1 then x.IRBRATING ELSE IRBT.IRBRATING end, *FROM ACRTINNER JOIN IRBT ON IRBT.MOODYSRATE = ACRT.MOODYSRATECROSS APPLY ( SELECT i.IRBRATING FROM IRBT i WHERE i.ID = IRBT.ID +1) x-- The UPDATE equivalent would look like thisUPDATE ACRT SET Yourcolumn = CASE WHEN ACRT.NEGWATCH = 1 THEN x.IRBRATING ELSE IRBT.IRBRATING ENDFROM ACRTINNER JOIN IRBT ON IRBT.MOODYSRATE = ACRT.MOODYSRATECROSS APPLY ( SELECT i.IRBRATING FROM IRBT i WHERE i.ID = IRBT.ID +1) x