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 临时表:
表名前使用一个#号,临时表是局部的,使用两个#号,临时表是全局的,在断开连接后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表
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值