34,593
社区成员
发帖
与我相关
我的任务
分享
use tempdb
go
--> -->
if not object_id('Subscribes') is null
drop table Subscribes
Go
Create table Subscribes([Email] nvarchar(16),[ListId] int,[Name] nvarchar(2),[Status] int,[FormatType] int,[PlanId] int,[BatchFlag] int)
Insert Subscribes
select N'34541588@qq.com',2,N'姓名',1,0,0,0 union all
select N'34541588@qq.com',7,N'姓名',1,0,0,0 union all
select N'34541588@qq.com',8,N'姓名',1,1,0,0 union all
select N'34541588@qq.com',9,N'姓名',1,0,0,0 union all
select N'google@gmail.com',2,N'0',1,1,0,null union all
select N'google@gmail.com',7,N'0',1,1,0,null union all
select N'google@gmail.com',8,N'0',1,1,0,null
Go
update b
SET [Status] = a.[Status]
,[FormatType] = a.[FormatType]
,[PlanId] = a.[PlanId]
,[BatchFlag] = a.[BatchFlag]
from
[Subscribes] a
join
[Subscribes] b on a.[Email]='34541588@qq.com' AND b.[Email]='google@gmail.com'AND a.[ListId]=b.[ListId]
go
Select * from Subscribes
Email ListId Name Status FormatType PlanId BatchFlag
---------------- ----------- ---- ----------- ----------- ----------- -----------
34541588@qq.com 2 姓名 1 0 0 0
34541588@qq.com 7 姓名 1 0 0 0
34541588@qq.com 8 姓名 1 1 0 0
34541588@qq.com 9 姓名 1 0 0 0
google@gmail.com 2 0 1 0 0 0
google@gmail.com 7 0 1 0 0 0
google@gmail.com 8 0 1 1 0 0
(7 個資料列受到影響)
update b
SET [Status] = a.[Status]
,[FormatType] = a.[FormatType]
,[PlanId] = a.[PlanId]
,[BatchFlag] = a.[BatchFlag]
from
[Subscribes] a
join
[Subscribes] b on a.[Email]='34541588@qq.com' AND b.[Email]='google@gmail.com'AND a.[ListId]=b.[ListId]
UPDATE [Subscribes]
SET [Status] = [OldSubscribes].[Status]
,[FormatType] = [OldSubscribes].[FormatType]
,[PlanId] = [OldSubscribes].[PlanId]
,[BatchFlag] = [OldSubscribes].[BatchFlag]
FROM [Subscribes]
INNER JOIN [Subscribes] [OldSubscribes] ON 条件...
WHERE [OldSubscribes].[Email]='34541588@qq.com' AND [Subscribes].[Email]='google@gmail.com'
AND [OldSubscribes].[ListId]=[Subscribes].[ListId]