mysql錶行資料根據某個相同欄位合併的的sql語句怎麼寫

2021-03-22 19:03:47 字數 6205 閱讀 8168

1樓:司馬刀劍

使用group_concat函式。

select group_concat(查詢的欄位 separator ';') from table

同一個表中,如何寫sql語句查詢某一欄位重複的記錄?

2樓:

select t1.a from table t1 where exists (select 1 from table t2 where t1.c = t2.

c and t1.a <> t2.a)

如何用sql 語句將兩個資料表相同欄位合併成另外一個表

3樓:匿名使用者

select a,b,c from tb1

union (all)

4樓:匿名使用者

select * into tb3 from (select a,b,c,d,e from tb1union all select a,b,c,d,e from tb2 ) tbx

5樓:匿名使用者

create table x as (select a.field,b.field from a,b where a.id = b.id)

6樓:孝悅位溪兒

select

a,b,c

from

aunion

allselect

a,b,c

from

b以上,希望對你有所幫助!

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

7樓:

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.

8樓:藍水一號

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

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

10樓:華信

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

11樓:匿名使用者

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)

12樓:匿名使用者

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

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

13樓:小

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

from _aaa表 , _bbb表

where aaa.username=bbb.username

14樓:匿名使用者

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

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

15樓:匿名使用者

看這裡,看這裡。

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;

怎麼利用sql語句查詢資料庫中具體某個欄位的重複行

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

16樓:古舟蓑笠翁

不知我理解的對不對:

select customer_id,customer_name,stuff((select ','+linkman_name from linkman where customer_id=customer.customer_id for xml path('')),1,1,'') linkman_name

from customer

17樓:殷奕錢梓童

--sql

2000可以用函式哦

create

function

udf_pin(@客戶id

int)

returns

varchar(100)

asbegin

declare

@svarchar(100)

select

@s=isnull(@s+',','')+rtrim(購買產品id)from

tbwhere

客戶id=@客戶id

return

@send;

goselect

客戶id,dbo.udf_pin(客戶id)as購買產品id

from

tbgroup

by客戶id

--sql2005一句話搞定

select

客戶id,

購買產品id=stuff((select

','+rtrim(

購買產品id)

from

tbwhere

t.客戶id=客戶id

order

by購買產品id

forxml

path('')),1,1,'')

fromtbt

group

by客戶id

sql語句查出多行資料,如何將id相同的行併成一行,且不相同的欄位合成一個字串

18樓:遊刃香菸

相同id合併成一行,只需要用聯合查詢就可以了

不相同的欄位合成一個字串只需要連線符+然後 as一個別名就ok了~

19樓:興

我個人建議你把邏輯寫在**裡面

像這種資料庫操作很好資源的,嚴重影響效率

可以先取出一個list

listresultlist = 資料庫返回mapmap = new hashmap();

for(user user : resultlist)elsemap.put(user.getid().tostring(),val);

}//map裡面的東西就是你要的

20樓:獨唱丶年華

select distinct 欄位 from 表名

怎麼用sql語句將一張表中id相同的行的內容合併在一起

21樓:匿名使用者

要達到你說的結果, 單靠sql語句難度很大(你的這個相同id的資料行數不確定吧?). 給你個思路供參考: 先迴圈讀出併合並相同id的資料, 然後再寫入一新表中.

22樓:

看你什麼資料庫了額,oracle如下,其他資料庫不好弄select id,wm_concat(text) as textfrom table_name

group by id

23樓:匿名使用者

select distinct b.id, (select ' '+a.text+' ' from table_2 a where a.

id=b.id for xml path('')) as text from table_2 b

效果圖如下

eclipse中怎麼呼叫mysql資料表

應該是用jdbc去連線吧!寫個dao 然後去連線資料庫 如下 public connection getconnection catch classnotfoundexception e catch sqlexception e public void close resultset rs,stat...

怎麼讓mysql表中某個欄位的值隨著另表改變

你可以建立一個觸發器,當另一個表中資料發生改變的時候,觸發觸發器,然後修改你想要修改的表欄位值,比如說你想要a表隨著b表改變,你就針對於b表建立一個觸發器 mysql 如何更新某個欄位的值為原來的值加1 格式 update 表名稱 set 欄位名稱 欄位名稱 1 where語句 比如說資料庫中有一張...

php的mysql同時修改表資料,怎麼實現

完成你的問題需要先假設幾個變數 傳值的id aid get id 要修改的新check內容 newcheck aaa 要在表b中加的數值 addcontent 20 第一個sql更新表a中的check內容 sql1 update a set check check.where aid get id ...