我有两表
A表
xx yy zz
---------------
11 22 33
66 77 88
……B表
xx yy zz ww aa
---------------------------
43 75 39 44 55
99 44 22 99 00
……要求结果输出表
xx yy zz ww aa
---------------------------
11 22 33 44 55
66 77 88 99 00
……也就是把B表中存在而A表不存在的“列”插入A表 并且“不改变”原A表中的数据
这种操作需要经常操作 把B表中存在而A表不存在的列插入A表
值得注意的是B表比A表多几列是“不固定”的 也许多1列 也有可能多很多列
求高手帮忙 小生感激涕零
A表
xx yy zz
---------------
11 22 33
66 77 88
……B表
xx yy zz ww aa
---------------------------
43 75 39 44 55
99 44 22 99 00
……要求结果输出表
xx yy zz ww aa
---------------------------
11 22 33 44 55
66 77 88 99 00
……也就是把B表中存在而A表不存在的“列”插入A表 并且“不改变”原A表中的数据
这种操作需要经常操作 把B表中存在而A表不存在的列插入A表
值得注意的是B表比A表多几列是“不固定”的 也许多1列 也有可能多很多列
求高手帮忙 小生感激涕零
我觉得你可以预留字段?比如15个字段,b表字段少的话,你就空其他列
update b set b.xx=a.xx,set b.yy=a.yy,b.zz=a.zz from b,a
现在的b表其实就是你要的结果了,如果你要更改a表,还不如直接重建a表
因为A表和B表相差几列不能固定 所以azhhuoiu的方法也不可取 谢谢
没有对应关系 因为A表和B表行数相同 只要添加进去就可以了
如果确实需要关系
可以在A表B表中填入一ID列 问题依旧A表
id xx yy zz
---------------
1 11 22 33
2 66 77 88
……B表
ID xx yy zz ww aa
---------------------------
1 43 75 39 44 55
2 99 44 22 99 00
……要求结果输出表
ID xx yy zz ww aa
---------------------------
1 11 22 33 44 55
2 66 77 88 99 00
……也就是把B表中存在而A表不存在的“列”插入A表 并且“不改变”原A表中的数据
这种操作需要经常操作 把B表中存在而A表不存在的列插入A表
注意“A表和B表相差几列不能固定”
求高手帮忙 小生感激涕零
id xx yy zz
---------------
1 11 22 33
2 66 77 88
……B表
ID xx yy zz ww aa
---------------------------
1 43 75 39 44 55
2 99 44 22 99 00
……要求结果输出表
ID xx yy zz ww aa
---------------------------
1 11 22 33 44 55
2 66 77 88 99 00
……
select a.*,b.zz,b.ww,b.aa
from a join b on a.id=b.id
要求能动态实现把B表中存在而A表不存在的“列”插入A表 并且“不改变”原A表中的数据 哪个大虾可以帮我 谢谢大家
帮忙顶顶
让此问题早日解决
谢谢大家了
select * into #tmp from b
update #tmp
set xx=a.xx,yy=a.yy,zz=a.zz
from #tmp,A where #tmp.id=A.id
select * from #tmp
if object_id(tempdb..#tmp) is not null drop table #tmp
select * into #tmp from b
update #tmp
set xx=a.xx,yy=a.yy,zz=a.zz
from #tmp,A where #tmp.id=A.id
select * from #tmp
drop table #tmp
因为我的数据量很庞大(作为测试我只把A表设计成了3列,实际上A表有300多列呢) 而且保存起来的数据会越来越多,所以不可能这样去实现.况且这样执行起来无疑是把查询执行了2遍
这样执行时间会很长
刚才我试了一下
用在批处理中 完全执行下来要15分钟 这样很恐怖啊
我想把时间控制在5分钟左右