一条数据保存在两个数据库中,如何将两条数据合并成一条

suliang1984 2008-03-27 03:01:16
数据库结构如下:

ID | TEMP | A | B | C

因为一些特殊原因同一条数据保存在两个数据库中,比如有一个ID为1,temp为1的数据保存成如下两条:
ID | TEMP | A | B | C
1 | 1 | 4 | 4 |


ID | TEMP | A | B | C
1 | 1 | | | 5

其中A、B字段保存成一条,C字段保存为另一条
请问怎样将两条数据合并为一条,即合并为:
ID | TEMP | A | B | C
1 | 1 | 4 | 4 | 5

谢谢
...全文
97 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
suliang1984 2008-03-27
to jtg98g3:是这个意思
回复
jtg98g3 2008-03-27
贴主,你说说你的具体应用哈。
s1
ID ¦ TEMP ¦ A ¦ B ¦ C
1 ¦ 1 ¦ 4 ¦ 4 ¦

s2
ID ¦ TEMP ¦ A ¦ B ¦ C
1 ¦ 1 ¦ ¦ ¦ 5

你的意思是将s2的数据更新到s1中,而s1中的数据不能丢失对吧?
那这样如何:
id是唯一索引:
update S1 Set
S1.Temp=S2.Temp
From S2
Where S2.ID=S1.ID And not(isnull(S1.Temp ,'')='')
其他字段换个字段名就可。

回复
suliang1984 2008-03-27
我好笨,这么简单居然没想到,谢谢dawgui!
回复
dawugui 2008-03-27
update a
set a.c = b.c
from a,b
where a.id = b.id and a.temp=b.temp
回复
suliang1984 2008-03-27
查询出来怎么写回数据库?
我的意思是
Database 1、
ID ¦ TEMP ¦ A ¦ B ¦ C
1 ¦ 1 ¦ 4 ¦ 4 ¦


Database 2、
ID ¦ TEMP ¦ A ¦ B ¦ C
1 ¦ 1 ¦ ¦ ¦ 5

在database2中查询到和Database1中id、temp相同的数据具对应的字段C,然后将这个值写回到database1的字段C中。
回复
dawugui 2008-03-27
select a.id , a.temp , a.a , a.b , b.c from a , b where a.id = b.id and a.temp = b.temp
回复
-狙击手- 2008-03-27
select id,
temp,
max(a) as a,
max(b) as b,
max(c) as c
from TA
group by
id,
temp
回复
pt1314917 2008-03-27

select m.id,m.temp,isnull(m.a,n.a)a,isnull(m.b,n.b)b,isnull(m.c,n.c)c from
库1..表名 m left join 库2..表名 n
on m.id=n.id and m.temp=n.temp
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-03-27 03:01
社区公告
暂无公告