MYSQL中同資料庫中的兩個表中的資料怎樣合併? 只需要合併某個欄位。

2021-03-22 19:03:47 字數 3335 閱讀 6193

1樓:

username 欄位 是否是唯一欄位 如果是唯一欄位可以使用左連線的方式 update aaa 表 或bbb 表

update aaa left join bbb on bbb.username =aaa.username set aaa.

post=aaa.post+bbb.post.

或者 update bbb left join aaa on aaa.username =bbb.username set bbb.

post=aaa.post+bbb.post.

如果不是唯一欄位的話 不能用username 作條件左連線了 如果id是對應的用id 左連線

update bbb left join aaa on aaa.id =bbb.id set bbb.post=aaa.post+bbb.post.

2樓:藍水一號

如果是線上資料,肯定不能手工合併,需要寫個指令碼,把兩個表中的資料讀出來,然後生成新欄位對應的資料,再insert進新表中。如果資料量很大的情況下,建議採用增量更新,或者用佇列。

3樓:zeroの開始

1.直接把結果更新在aaa表中的語句如下

update aaa

set post = (select sum_post from (select aaa.id,(aaa.post+bbb.

post) sum_post from aaa,bbb where aaa.id=bbb.id) t1 where t1.

id=a.id)

where exists (select 1 from bbb where aaa.id =bbb.id);

2.直接查詢顯示的方法參見上樓;

3.新建ccc表:

create table ccc as( select id,username,sum(post) sum_post from

(select id,username,post from aaaunion all

select id,username,post from bbb)group by id,username; )

4樓:華信

--建新表ccc

create table ccc

(id int not null primary key

username varchar(20) not null

post int not null)

--將aaa中的資料複製到ccc裡

declare @id int,@name varchar(20),@post int

declare yb cursor for

select id,username,post from aaa

yb open

fetch yb into @id,@name,@post

while @@

fetch_status=0

begin

set identity_insert ccc on

inser into ccc(id,username,post) values(@id,@name,@post)

fetch yb into @id,@name,@post

endclose yb

deallocate yb

--ccc與bbb求和並更新到ccc表中

declare @sum int,@id1 int

declare yb1 cursor for

select b.id,b.post+c.post from bbb b join ccc c on b.id=c.id

yb1 open

fetch yb1 into @id1,@sum

while @@fetch_status=0

begin

set identity_insert ccc on

inser into ccc(post) values(@sum) where id=@id1

fetch yb into @sum

endclose yb1

deallocate yb1

5樓:匿名使用者

1、忽略表之間的關聯關係

alter table db2.dbo.table nocheck constraint 關係名

2、--將沒有重複的資料合併

insert into db2.dbo.table(field1,field2...

) select field1,field2... from db1.dbo.

table a where a.username not in (select username from db2.dbo.

table)

3、將重複的資料寫入臨時表

select field1,field2... into 新的臨時表 from db1.dbo.

table a where a.username in (select username from db2.dbo.

table)

6樓:匿名使用者

select aaa.username, aaa.post+bbb.post into ccc where aaa.username=bbb.username

那個into 語句寫前面還是最後我忘了,你可以試試看或者查查 select語句的手冊

7樓:小

insert into table cccselect aaa.username ,(aaa.post+bbb.post) as post

from _aaa表 , _bbb表

where aaa.username=bbb.username

8樓:匿名使用者

select id,username,sum(post) from(select id,username,post from aaaunion all

select id,username,post from bbb)group by id,username;

9樓:匿名使用者

看這裡,看這裡。

create table ccc select * from aaa limit 0;或者 create table ccc like aaa;

insert into ccc select aaa.id,aaa.username,aaa.

post+bbb.post as post from aaa,bbb where aaa.id=bbb.

id;select * from ccc;

如何獲取mysql資料庫中某個表的主鍵或唯段

主鍵確定的資料庫記錄行數唯一,但是主鍵組成不唯一,可以由多個欄位組成 主關鍵字 主鍵,primary key 是被挑選出來,主關鍵字作表的行的唯一標識的候選關鍵字。一個表只有一個主關鍵字。主關鍵字又可以稱為主鍵。主鍵可以由一個欄位,也可以由多個欄位組成,分別成為單欄位主鍵或多欄位主鍵。又稱主碼。並且...

如何在mysql資料庫中資料庫,如何在MYSQL資料庫中新建一個資料庫

1 開啟電腦的sql軟體 輸入使用者名稱和密碼,連線上mysql主機地址,將mysql啟動。2 進入mysql裡面後,用滑鼠右鍵點選主機,然後會彈出選單欄,點選裡面的 建立資料庫 也可以使用快捷鍵ctrl d。3 接著會出現 建立資料庫 的視窗,為建立的資料庫取名,並選擇 基字符集 為 utf 8 ...

mysql資料庫如何為表中已有的主鍵欄位增加自增屬性?sql語句怎麼寫

你建立表的時候就應該建立id id int primary key auto increment 如果應經建立成功 alter table tablename modify column fieldname varchar 14 alter table category modify column ...