程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> sql相同的id合並

sql相同的id合並

編輯:關於SqlServer

       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表

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved