日期:2014-05-18 浏览次数:20549 次
select a.a1,a2=(case when a2<>b2 then a2+b2 else a2 end), a3=(case when a3<>b3 then a3+b3 else a3 end), a4=(case when a4<>b4 then a4+b4 else a4 end) from a,b where a.a1 = b.b1
------解决方案--------------------
select a.a1,case when a2=b2 then a.a2 else a2+b2 end as a2,case when a3=b3 then a.a3 else a3+b3 end as a3,case when a4=b4 then a.a4 else a4+b4 end as a4 from a inner join b on a.a1=b.b1
------解决方案--------------------
create table #表A(A1 varchar(5),A2 varchar(5),A3 varchar(5),A4 varchar(5))
insert #表A select
'a', 'b', 'c', 'd' insert #表A select
'e', 'f', 'g', 'h'
create table #表B(B1 varchar(5),B2 varchar(5),B3 varchar(5),B4 varchar(5))
insert #表B select
'a' , 'b', '4', '5' insert #表B select
'e' , 'r', 'g', '6'
-----------------------
select a.A1,
case when a.A2=b.B2 then a.A2 else a.A2+b.B2 end A2,
case when a.A3=b.B3 then a.A3 else a.A3+b.B3 end A3,
case when a.A4=b.B4 then a.A4 else a.A4+b.B4 end A4
from #表A a left join #表B b on a.A1=b.B1
-------------
a b c4 d5
e fr g h6