我有一张表,SUBSCRIBERS
每个订阅者可以在其中拥有多个条目。
(假设因为它不再是订阅者,现在又变成了客户,所以它具有不同的“身份”但相同的“subno”)
我需要一条UPDATE
语句来更新一行中的一列(假设他们的地址),但仅适用于该订阅者的最新记录(最新的EffectiveDate
)。
所以我想出了如何选择这样的一行:
SELECT
t1.identity, t1.Subno, t1.EffectiveDate
FROM
SUBSCRIBERS t1
INNER JOIN
(SELECT subno,max(EffectiveDate) as LatestDate
FROM SUBSCRIBERS
GROUP BY Subno) t2 ON t1.Subno = t2.Subno AND t1.EffectiveDate = t2.LatestDate
但我不知道如何更新给定 subno 值的行。好吧,我愿意,但我不想用 17 个嵌套的 select 语句来做。
谢谢!