35

次のようなテーブルがあります。

SetId      ID       Premium
2012        5          Y
2012        6          Y
2013        5          N
2013        6          N

setid が 2012 に等しいプレミアム値で 2013 レコードを更新したいと考えています。

したがって、クエリの後は次のようになります。

SetId      ID       Premium
2012        5          Y
2012        6          Y
2013        5          Y
2013        6          Y

どんな助けでも大歓迎です

4

5 に答える 5

10

これは正しい解決策だと思います:

UPDATE t 
SET t.Premium = (SELECT TOP 1 t2.Premium
                 FROM dbo.TableName t2
                 WHERE t2.SetId = 2012 AND t2.Id = t.ID)
FROM dbo.TableName t
WHERE t.SetId = 2013 
于 2013-09-30T12:24:48.347 に答える