SQL2005 把A表数据插入到B表

A表学号姓名年龄1张18.........B表学号姓名年龄身高体重3王19173CM56kg................A表插入B表效果;学号姓名年龄身高体重1张18... A表 学号 姓名 年龄 1 张 18 ... ... ...
B表 学号 姓名 年龄 身高 体重 3 王 19 173CM 56kg ... .... ... ... ...
A表插入B 表效果; 学号 姓名 年龄 身高 体重
1 张 18
3 王 19 173CM 56kg
... ... ... .... ....
两个表数据很多。学号为不重复项,重复则不插入 只保留B表数据。如果两个表数据类型不同的话,还怎么处理。 求具体实施语句。
展开
 我来答
FoolRabbit编程
推荐于2016-10-15 · 知道合伙人数码行家
FoolRabbit编程
知道合伙人数码行家
采纳数:619 获赞数:3806
毕业于苏州大学,4年编程经验,对WPF有研究。

向TA提问 私信TA
展开全部
CREATE TABLE #表A(
学号 VARCHAR(10),
姓名 VARCHAR(20),
年龄 SMALLINT
)
CREATE TABLE #表B(
学号 VARCHAR(10),
姓名 VARCHAR(20),
年龄 SMALLINT,
身高 VARCHAR(10),
体重 VARCHAR(10)
)
INSERT INTO #表A VALUES('1','张',18)
INSERT INTO #表B VALUES('3','王',19,'173CM','56kg')
INSERT INTO #表B(学号,姓名,年龄) SELECT 学号,姓名,年龄 FROM #表A WHERE 学号 NOT IN (SELECT 学号 FROM #表B)
SELECT * FROM #表B

效果

学号         姓名                   年龄     身高         体重

---------- -------------------- ------ ---------- ----------

3          王                    19     173CM      56kg

1          张                    18     NULL       NULL

追问
这只是插入一条数据?如果a表数据很多怎么办。
看错了。我试下看。
还有就是,如果两个表列数据类型不一样。对上面的语句有影响没?因为B表原有数据不能改变。
追答
下面的语句就是要的效果

INSERTINTO#表B(学号,姓名,年龄) SELECT学号,姓名,年龄 FROM#表A WHERE学号 NOTIN(SELECT学号 FROM#表B)
梦里寻你我他
2013-04-17 · TA获得超过2199个赞
知道大有可为答主
回答量:2171
采纳率:42%
帮助的人:1215万
展开全部
select * from A表 where A表.学号<>B表.学号
然后一条条循环插入B表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式