mysql一對多合併條記錄的單個欄位到另表中

2021-05-28 05:12:53 字數 4681 閱讀 9949

1樓:射手小小王

你這個應該bai很好弄,你可能表設du計有問題,供zhi應商和擔dao

保人直接

是1:m的關專系,通過供屬應商的id,直接關聯擔保人表,一下就搞定,oracle中提供了listegg函式,mysql中,你可以寫個函式,函式中配合遊標,就可以了

mysql一個表中多個欄位對應另一個表的id如何查詢?

2樓:楓之秋殤

select m.aid,m.b1id,n.

bcon,m.b2id as b2id,o.bcon as b2con, m.

b3id as b3id,p.bcon as b3con from `test` as m inner join test1 as n on m.b1id=n.

bid inner join test1 as o on m.b2id=o.bid inner join test1 as p on m.

b3id=p.bid;結果:

3樓:菸圈舞動

select n.aid, m.bid ,m.bcon , l.bid,l.bcon,o.bid ,o.bcon from

a n join b m on n.b1id=m.bidjoin b l on n.b2id=l.bidjoin b o on n.b3id=o.bid

mysql中同一個資料庫中的兩個表中的資料怎樣合併?(只需要合併某個欄位。) 100

4樓:

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.

5樓:藍水一號

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

6樓: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; )

7樓:華信

--建新表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

8樓:匿名使用者

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)

9樓:匿名使用者

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

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

10樓:小

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

from _aaa表 , _bbb表

where aaa.username=bbb.username

11樓:匿名使用者

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

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

12樓:匿名使用者

看這裡,看這裡。

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怎麼合併多條記錄的單個欄位去一條記錄

13樓:匿名使用者

你這個應該很好弄,你可能表設計有問題,**商和擔保人直接是1:m的關係,通過**商的id,直接關聯擔保人表,一下就搞定,oracle中提供了listegg函式,mysql中,你可以寫個函式,函式中配合遊標,就可以了

mysql 中怎樣把同一張表中相同欄位的內容合併為一條記錄

14樓:司馬鑄劍

update語句可以搞定,但是需要join配合,例如,有個表如下,需要將id =999對應的name改為id=1000對應的name

可以這麼做:

update person t1 join (select id,name from person where id = 1000 limit 1 ) as t2 on t1.id <= t2.id set t1.

name = t2.name where t1.id = 999 and t2.

id = 1000

修改後的結果

這樣就可以了。。

Access資料庫中一對一和一對多的關係是什麼意思

一個欄位中的特定 抄值對應另外bai一個欄位中的多個值叫一對du多,如表1 表2id name deptno deptno dept 1 張三zhi 2 1 行政部 2 李四 2 2 財務部dao 3 王五 1 用deptno 連線兩個表 財務部下面有兩個員工 表2 和表1 的關係就是1對多一個欄位...

資料庫中怎樣將多對多的關係轉為一對多的關係?麻煩告訴我

一個 多對多關係 可以轉換成兩個 一對多關係下面舉例說明 有 學生表 與 選修課程表 多對多關係 一個學生可以選擇多門課程,一門課程可以被多個學生選修.需要新增加一個 學生選修課程情況表,2個欄位 學生編號,課程編號 然後 學生表 與 學生選修課程情況表 為 一對多關係.選修課程表 與 學生選修課程...

資料庫中一對一和一對多的聯絡怎麼區別啊

比如 某個人的 出生地 有很多人,但這個人只能有一個出生地。那麼 出生地與人 之間存在回一對多的關係。答 再或者一個班有很多學生,一個學生只能在一個班裡註冊,則班級與學生存在一對多的關係。一個班裡只有一個班長,而一個班長只在一個班裡任職,則班級與班長之間存在一對一的關係。資料庫中一對一和一對多的聯絡...