34,590
社区成员
发帖
与我相关
我的任务
分享
with a as
(select 'a1' as 用户名 , 60 as 账号,100 as 数值 Union all
select 'a1' as 用户名 , 35 as 账号,120 as 数值 Union all
select 'a1' as 用户名 , 48 as 账号,110 as 数值 ),
b as
(select 'a1' as 用户名 ,60 as 账号,90 as 数值 Union all
select 'a1' as 用户名 , 35 as 账号,110 as 数值 Union all
select 'a1' as 用户名 , 48 as 账号,100 as 数值 Union all
select 'a1' as 用户名 , 23 as 账号,90 as 数值 Union all
select 'a1' as 用户名 , 54 as 账号,130 as 数值 )
select b.用户名,b.账号,ISNULL(a.数值,b.数值) as 数值
from b left join a
on a.用户名=b.用户名 and a.账号=b.账号
--结果
用户名 账号 数值
---- ----------- -----------
a1 60 100
a1 35 120
a1 48 110
a1 23 90
a1 54 130
(5 行受影响)
select
用户名 = isnull(a.用户名,b.用户名)
, 帐号 = isnull(a. 帐号,b. 帐号)
, 数值 = isnull(a.数值,b.数值)
from a full join b
on a.用户名= b,用户名 and a. 帐号= b. 帐号