select t1.f1,f2=t1.f2-t2.f2 from t1 left join t2 on t1.f1=t2.f1
解决方案 »
- 数据库
- sql2005为什么不断重启数据库(间隔从几分钟到几小时)
- 存贮过程中用raiserror返回一个错误,在查询分析器可以看到这个返回信息,我如何将这个信息让客户端程序中能接收到呢?
- 想学好数据库
- 求助高手
- 低版本还原高版本的备份数据?
- -------1.关于master..spt_values的应用帖子----------
- 在sql server中设置一个字段为float,怎么设置他要保留2位小数,
- SQL Server7数据库恢复的问题!请帮忙给个注意!
- 怎样取消sp_addserverlink yourRemoteServer建立的连接?
- QQ号是怎么产生的?
- 不知道存储过程能不能实现这样的功能?
select t1.f1,f2=isnull(t1.f2,0)-isnull(t2.f2,0) from t1 full join t2 on t1.f1=t2.f1
set
a.f2 = (a.f2-b.f2)
from
t1 a,t2 b
where
a.f1 = b.f1
select isnull(t1.f1,t2.f1),f2=isnull(t1.f2,0)-isnull(t2.f2,0) from t1 full join t2 on t1.f1=t2.f1
IsNull(T1.f1,T2.f1) As f1,
(IsNull(T1.f1,0)-IsNull(T2.f1,0)) As f2
from T1
Full Join T2
On T1.f1=T2.f1
f1 = case when a.f1 is null then b.f1 else a.f1,
f2 = isnull(a.f2,0) - isnull(b.f2,0)
from
t1 a
full outer join
t2 b
where
a.f1 = b.f1
f1 = case when a.f1 is null then b.f1 else a.f1,
f2 = isnull(a.f2,0) - isnull(b.f2,0)
from
t1 a
full outer join
t2 b
on
a.f1 = b.f1
f1 f2 f3
A1 A2 10
B1 B2 20
C1 C2 30
E1 D2 40
F1 E2 50
G1 F2 60t2的数据:
f1 f2 f3
A1 A2 10
B1 B2 20
C1 F2 30
E1 D2 40
F1 E2 50
G1 G2 60如果t1.f1和t1.f2与t2.f1和t2.f2相等时,t1.f3-t2.f3,比如实现的数据如下:
f1 f2 f3
A1 A2 0
B1 B2 0
C1 C2 30
C1 F2 -30
E1 D2 0
F1 E2 0
G1 F2 60又如何实现呢?
f3=case when (isnull(t1.f2,0)=isnull(t2.f2,0)) then t1.f3-t2.f3 else (isnull(t1.f2,0)-isnull(t2.f2,0))end
from t1 full join t2 on t1.f1=t2.f1