萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> sql相同的id合並

sql相同的id合並

   create table deom

  (

  id int primary key identity(1,1),

  code varchar(32) ,

  txt varchar(64)

  )

  insert into deom(code,txt)

  select '102','科學' union

  select '102','數學' union

  select '102','數學1' union

  select '101','美術' union

  select '101','體育' union

  select '101','體育1'

  create function s_str(@code varchar(20))

  returns varchar(100)

  begin

  declare @a varchar(1000)

  set @a=''

  select @a=@a+','+txt from deom where code=@code

  set @a=stuff(@a,1,1,'')

  return @a

  end

  go

  select code,name=dbo.s_str(code) from deom group by code

  效果:

sql相同的id合並 三聯

  表名前使用一個#號,臨時表是局部的,使用兩個#號,臨時表是全局的,在斷開連接後sql會自動刪除臨時表

  create table #a

  (

  id int,

  name varchar(50)

  )

  insert into #a(id,name) values(1,'123')

  select * from #a

  drop table #a

  臨時表除了名稱前多了#號外,其他操作與普通表完全一樣。

  tb_Student是已建立好的表,我們通過臨時表temp把tb_Student表中的內容復制到tb_lizi表中,可以使用如下的代碼實現:

  use mcf

  SELECT * INTO #temp FROM tb_Student

  SELECT * INTO tb_lizi FROM #temp

  執行後斷開sql連接並重新連接(也可以退出sq再l重新啟動sql),發現tb_lizi表中的內容tb_Student表中的內容完全一致,實現了復制,同時我們沒有用代碼刪除temp表,但mcf數據庫中卻沒有temp表了,這是因為斷開連接時sql自動刪除了temp表

copyright © 萬盛學電腦網 all rights reserved