把一张表里面的某个字段中的所有内容 复制到另张表的某个字段上 sql语句怎么写啊 各位帮帮忙 急着用

时间:2021-01-27 14:58:43
把一张表里面的某个字段中的所有内容 复制到另张表的某个字段上  sql语句怎么写啊  各位帮帮忙  急着用



--------------------------------------------------------------------
以下内容为自动编辑的内容,并非楼主的发贴内容,此仅用于显示而已,并无任何其他特殊作用
楼主【zhenghaibinlove】截止到2008-08-05 13:14:45的历史汇总数据(不包括此帖):
发帖的总数量:1                        发帖的总分数:10                       每贴平均分数:10                       
回帖的总数量:4                        得分贴总数量:0                        回帖的得分率:0%                       
结贴的总数量:0                        结贴的总分数:0                        
无满意结贴数:0                        无满意结贴分:0                        
未结的帖子数:1                        未结的总分数:10                       
结贴的百分比:0.00  %               结分的百分比:0.00  %                  
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html

取消马甲机器人,请点这里: http://www.java2000.net/mycsdn/robotStop.jsp?usern=zhenghaibinlove

14 个解决方案

#1


insert into TableA(ColA) select ColB from  TableB where ...
注:ColA和ColB类型要一样。。。。

#2



UPDATE TABLE_A SET TABLE_A.COLUMN1 = (SELECT TABLE_B.COLUMN1 FROM TABLE_B WHERE TABLE_A.COLUMN2 = TABLE_B.COLUMN2)

#3



UPDATE TABLE_A SET TABLE_A.COLUMN1 = (SELECT TABLE_B.COLUMN1 FROM TABLE_B WHERE TABLE_A.COLUMN2 = TABLE_B.COLUMN2) WHERE EXISTS (SELECT 1 FROM B WHERE TABLE_A.COLUMN2 = TABLE_B.COLUMN2);

#4


这个你说的太抽象了吧?

至少要说一下两个表名和两个表中的字段名以及你要操作的字段名啊。

好吧,我试试。

比如你有A表和B表,A表中有一个字段叫a , B表中有一个字段叫b

你要把B表中的b字段中的值插入到A表的a字段中



insert into A (a) values (select b from B where 条件)



不知道这个行不行。

下次问问题要说的详细些,你说的越详细越容易找到答案,别人越愿意帮你。

最讨厌的就是一进来俩字“如题”

看见这种的我直接就把页面关了

#5


好象不行哦    出现这样的错误  “单行子查询返回多于一个行”

#6


对了,这个选择的结果是多条记录

那就用存储过程吧。

#7


我的问题再说详细点:
比如说有
表 A  
字段    id     rule_id    sms  
         1       1         哈
          2       1         呵
          3       1         啊
          4       1         不
          5       1         的
          6       1         国
         7       2         个的
          8       2         士大夫
          9       2         饿饿
          10      2         他他
          11      2         谢谢
         

 
表 B  
        id     rule_id     sms      time
         1       1               1995-10-10
          2       1               1995-10-10
          3       1               1995-10-10 
          4       1               1995-10-10
          5       1               1995-10-10
          6       1               1995-10-10
         7       2               1995-10-10
          8       2               1995-10-10
          9       2               1995-10-10
          10      2               1995-10-10
          11      2               1995-10-10 

现在是表B里面有个字段  sms  现在内容是空  我想把表A里面的字段 sms  的内容对应复制到表B 的字段sms上  ,sql语句应该怎么写啊??谢谢了
                

#8


引用 3 楼 yirentianran 的回复:
SQL code
UPDATE TABLE_A SET TABLE_A.COLUMN1 = (SELECT TABLE_B.COLUMN1 FROM TABLE_B WHERE TABLE_A.COLUMN2 = TABLE_B.COLUMN2) WHERE EXISTS (SELECT 1 FROM B WHERE TABLE_A.COLUMN2 = TABLE_B.COLUMN2);

#9


答案不是给你了吗
自己往里面套用一下就行了

UPDATE A SET A.SMS = (SELECT B.SMS FROM B WHERE A.ID = B.ID) WHERE EXISTS (SELECT 1 FROM B WHERE A.ID = B.ID);


#10


引用 9 楼 yirentianran 的回复:
答案不是给你了吗 
自己往里面套用一下就行了 

SQL code
UPDATE A SET A.SMS = (SELECT B.SMS FROM B WHERE A.ID = B.ID) WHERE EXISTS (SELECT 1 FROM B WHERE A.ID = B.ID);


#11


引用 5 楼 zhenghaibinlove 的回复:
这样不行哦    出现这样的错误  “单行子查询返回多于一个行”

#12




insert into A (a) select b from B where A.id=B.id

#13


INSERT INTO a.alc01(
            ALC001,
              AAC001,
              AAB001,
              ALA014,
              ALA001
             )SELECT
            ALC001,
              AAC001         
              AAB001,
              ALA014,
              ALA001
              FROM b.alc01;

#14


update b set b.sms = (select a.sms from a where a.id = b.id)

需要确定两张表中的id都是主键或者唯一

#1


insert into TableA(ColA) select ColB from  TableB where ...
注:ColA和ColB类型要一样。。。。

#2



UPDATE TABLE_A SET TABLE_A.COLUMN1 = (SELECT TABLE_B.COLUMN1 FROM TABLE_B WHERE TABLE_A.COLUMN2 = TABLE_B.COLUMN2)

#3



UPDATE TABLE_A SET TABLE_A.COLUMN1 = (SELECT TABLE_B.COLUMN1 FROM TABLE_B WHERE TABLE_A.COLUMN2 = TABLE_B.COLUMN2) WHERE EXISTS (SELECT 1 FROM B WHERE TABLE_A.COLUMN2 = TABLE_B.COLUMN2);

#4


这个你说的太抽象了吧?

至少要说一下两个表名和两个表中的字段名以及你要操作的字段名啊。

好吧,我试试。

比如你有A表和B表,A表中有一个字段叫a , B表中有一个字段叫b

你要把B表中的b字段中的值插入到A表的a字段中



insert into A (a) values (select b from B where 条件)



不知道这个行不行。

下次问问题要说的详细些,你说的越详细越容易找到答案,别人越愿意帮你。

最讨厌的就是一进来俩字“如题”

看见这种的我直接就把页面关了

#5


好象不行哦    出现这样的错误  “单行子查询返回多于一个行”

#6


对了,这个选择的结果是多条记录

那就用存储过程吧。

#7


我的问题再说详细点:
比如说有
表 A  
字段    id     rule_id    sms  
         1       1         哈
          2       1         呵
          3       1         啊
          4       1         不
          5       1         的
          6       1         国
         7       2         个的
          8       2         士大夫
          9       2         饿饿
          10      2         他他
          11      2         谢谢
         

 
表 B  
        id     rule_id     sms      time
         1       1               1995-10-10
          2       1               1995-10-10
          3       1               1995-10-10 
          4       1               1995-10-10
          5       1               1995-10-10
          6       1               1995-10-10
         7       2               1995-10-10
          8       2               1995-10-10
          9       2               1995-10-10
          10      2               1995-10-10
          11      2               1995-10-10 

现在是表B里面有个字段  sms  现在内容是空  我想把表A里面的字段 sms  的内容对应复制到表B 的字段sms上  ,sql语句应该怎么写啊??谢谢了
                

#8


引用 3 楼 yirentianran 的回复:
SQL code
UPDATE TABLE_A SET TABLE_A.COLUMN1 = (SELECT TABLE_B.COLUMN1 FROM TABLE_B WHERE TABLE_A.COLUMN2 = TABLE_B.COLUMN2) WHERE EXISTS (SELECT 1 FROM B WHERE TABLE_A.COLUMN2 = TABLE_B.COLUMN2);

#9


答案不是给你了吗
自己往里面套用一下就行了

UPDATE A SET A.SMS = (SELECT B.SMS FROM B WHERE A.ID = B.ID) WHERE EXISTS (SELECT 1 FROM B WHERE A.ID = B.ID);


#10


引用 9 楼 yirentianran 的回复:
答案不是给你了吗 
自己往里面套用一下就行了 

SQL code
UPDATE A SET A.SMS = (SELECT B.SMS FROM B WHERE A.ID = B.ID) WHERE EXISTS (SELECT 1 FROM B WHERE A.ID = B.ID);


#11


引用 5 楼 zhenghaibinlove 的回复:
这样不行哦    出现这样的错误  “单行子查询返回多于一个行”

#12




insert into A (a) select b from B where A.id=B.id

#13


INSERT INTO a.alc01(
            ALC001,
              AAC001,
              AAB001,
              ALA014,
              ALA001
             )SELECT
            ALC001,
              AAC001         
              AAB001,
              ALA014,
              ALA001
              FROM b.alc01;

#14


update b set b.sms = (select a.sms from a where a.id = b.id)

需要确定两张表中的id都是主键或者唯一