数据库T-sql 问题,将A表的数据库字段导入到B中
A表有字段:A1_id,A2_name,A3_ageB表有字段:B1_id,A1_id,B2_name,B3_name,我现在想把两张表的数据合到一起来,求解------...
A表有字段:A1_id,A2_name,A3_age B表有字段:B1_id,A1_id,B2_name,B3_name,我现在想把两张表的数据合到一起来,求解 --------》他们有主外键关系的
我想把A表的数据字段全部合到B表中间来! 展开
我想把A表的数据字段全部合到B表中间来! 展开
4个回答
展开全部
SELECT * FROM A,B WHERE A.A_ID=B.A_ID 通过A_ID将两表数据合到一起。 如果你想把A表某字段的值插入B表,用INSERT INTO B(某列)SELECT 某列 FROM A WHERE 条件 列的数目要一致 如果想把A的字段添加到B表 用ALTER TABLE B ADD 列名 数据类型 [NULL/NOT NULL] 当然列名数据类型什么的要和A表中的一致。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上说的那个好像有点问题。本来想写个游标+存储过程了。不过想想好像没那么复杂。
下面这个你试下。
insert into B(b1_id,a1_id,b2_name)
select (select max(isnull(a1_id,0)+1)),a1_id,A2_name from a
where a1_id not in
(select a1_id from b)
条件语句限制了B表中没有A1_ID的数据,才会导进来。
下面这个你试下。
insert into B(b1_id,a1_id,b2_name)
select (select max(isnull(a1_id,0)+1)),a1_id,A2_name from a
where a1_id not in
(select a1_id from b)
条件语句限制了B表中没有A1_ID的数据,才会导进来。
更多追问追答
追问
两张表中都有很多数据库的,我的意思是怎么追加到B表中去啊
追答
这个SQL的结果,就是将A表中的数据导入到B表中。
条件是,B表中的没有a1_id的数据。B表的主键按最大值+1进行插入操作。
SQL要一次性全执行,别分开。呵呵。我换行是为了意思表达清楚些。追加的列,你要自己手工写,因为我不知道你的表结构。但是KEY,VALUE必须是数据类型一致。
如下图:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上两位说的都没有问题,楼主,他们写的是一句话,不要拆开做2句话执行。
insert into B(b1_id,a1_id,b2_name) select (select max(isnull(a1_id,0)+1)),a1_id,A2_name from a where a1_id not in (select a1_id from b)
没细看语句,拷贝用一下,呵呵,反正是一句话,不能拆分。
insert into B(b1_id,a1_id,b2_name) select (select max(isnull(a1_id,0)+1)),a1_id,A2_name from a where a1_id not in (select a1_id from b)
没细看语句,拷贝用一下,呵呵,反正是一句话,不能拆分。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
类型相同就行了吧。
insert into A(A1_id,A2_name,A3_age)
select B1_id,A1_id,B2_name,B3_name from B
insert into A(A1_id,A2_name,A3_age)
select B1_id,A1_id,B2_name,B3_name from B
追问
两张表中都有很多数据库的,我的意思是怎么追加到B表中去啊
追答
你可以用left join (左联接)或者 right join (右联接)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询