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表数据。如果两个表数据类型不同的话,还怎么处理。 求具体实施语句。 展开
B表 学号 姓名 年龄 身高 体重 3 王 19 173CM 56kg ... .... ... ... ...
A表插入B 表效果; 学号 姓名 年龄 身高 体重
1 张 18
3 王 19 173CM 56kg
... ... ... .... ....
两个表数据很多。学号为不重复项,重复则不插入 只保留B表数据。如果两个表数据类型不同的话,还怎么处理。 求具体实施语句。 展开
2个回答
推荐于2016-10-15 · 知道合伙人数码行家
关注
展开全部
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)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询