日期:2014-05-17  浏览次数:20555 次

SQL复制与删除
SQL中,A表与B表的结构是不相同的,将A表的记录按条件查询出来,放入DataTable中,然后获取相应的值插入到B表中;同时删除A表中的被查记录.例:
A表中的字段
ID   Name  Age  Address  
1    小李   29    北京      
2    小王   26    天津     这条应该删除 
3    小刘   30    上海      
4    小张   31    深圳     这条应该删除    
5    小红   26    深圳
      
B表中的字段
ID  AID   Name  Age  Address School
1   2    小王   26    天津      清华
2   4    小张   31    深圳      北大

是按ID来删除吗?如果是,请问这条SQL语句怎么写?

------解决方案--------------------
首先保证B表中的ID为int型自增长列,然后执行下面2个语句
insert into B (AID, Name, Age, Address)
select ID, Name, Age, Adress
from A where ID in (2,4)

delete from A where ID in (select ID from B)
------解决方案--------------------
引用:
回1楼,我B表中的School列呢?School是需要插入的.你的语句好像满足不了我的要求哦.

你的A表中又没有school字段,所以你的school字段应该是从别的表中取得,或者你们自己添加上去的

------解决方案--------------------
同意4楼的说法