I have a complex(*) SQL SELECT
statement that returns the rows I require to be updated
How do I update the rows returned by my SELECT
statement only?
All the posts I see about updating rows using a SELECT statement talk about INNER JOIN against another table using fields to match (How do I UPDATE from a SELECT in SQL Server?)
My statement is
SELECT * FROM table1 I
INNER JOIN
(SELECT *
FROM (
SELECT INTNO,EFFDTE,
ROW_NUMBER() OVER(PARTITION BY INTNO,EFFDTE ORDER BY EFFDTE DESC) rn
FROM table2 WHERE REFID = 8888 AND EFFDTE IS NOT NULL AND INTNO <> 1234567
) a
WHERE rn = 1) X
ON X.INTNO = I.MEMBNO AND I.ENDDTE = DATEADD(DD,-1,X.EFFDTE)
WHERE I.ENDRSN = 'abc'