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会自动删除临时表

  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表

时间: 2024-09-27 10:04:46

sql相同的id合并的相关文章

MS SQL基础教程:合并复制

合并复制的概述 也许读者对下面的实际例子并不陌生,在某一大型企业的分销系统中,销售经理或一些销售骨干人员经常要外出处理业务,将签订的合同通过手边的笔记本电脑传递到总部销售信息数据库.在这一例子中有两个主要的特:征任何销售经理和销售骨干都可以修改销售信息数据库:只有在进行数据传递时才将源数据库与目标数据库相连.在SQL Server 中,合并复制为这一情况提供了较好的解决方案. 合并复制作为一种从出版者向订购者分发数据方法允许出版者和订购者对出版数据进行修改,而不管订购者与出版者是相互连接或断开,

SQLServer关于SQL单表查寻合并结果

问题描述 SQLServer关于SQL单表查寻合并结果 现有一表. QA, QC,QD 数据 11, 22, SB 22, 11, SD 33, 44, SH 44, 33, SL 需要把数据拼成两条. QA, QC,QD, QA2, QC2,QD2 11, 22, SB , 22, 11, SD 33, 44, SH, 44, 33, SL 这个表就通过QA, QC这俩字段识别 解决方案 有没有尝试着having子句和连表查询啊 解决方案二: SQL单表外连接 解决方案三: 如果用存储过程.

sql查询相同ID的不同字段

问题描述 sql查询相同ID的不同字段 我想查询一条aucid=1的now__price(1600的)而不是三条,怎么写? 解决方案 select top 1 now__price from 表 where aucid=1select max(now__price) from 表 where aucid=1select max(now__price) from 表 where aucid=1 and price=1600 解决方案二: now_price是不固定的 解决方案三: hibernat

sql语句查询结果合并union all用法

整理别人的sql 大概的思想是用union 和union all --合并重复行select * from Aunion select * from B --不合并重复行select * from Aunion allselect * from B 按某个字段排序--合并重复行select *from (select * from Aunion select * from B) AS Torder by 字段名 --不合并重复行select *from (select * from Aunion

跟我学SQL:(三)使用SQL子选择来合并查询

你是否曾经为了得到所需要的信息而反复查询?子选择,也被称为子查询,也许正是你在寻找的.SQL的这项功能使你可以在一组结果中查询,创造性地给结果组加以限定,或是在向数据库的单一调用中将结果与一个无关系的查询做相关.这篇文章中我将给出几个子选择的例子并就何时使用他们进行讨论. 在一个结果组中搜索  子选择的理念很简单:一个选择查询安置在另一个查询内部,创建一个在单一声明搜索中不可用的资源.子选择允许查询的合并,结果组比较的责任落到了数据库中而不是应用软件代码中. 使用这个功能的一个途径是对两个表格中

SQL Server 2008服务器合并功能介绍

SQL Server 2008提供了一个具有企业级管理能力和性能的灵活的服务器合并解决方案,降低了硬件和 维护的成本. 灵活的.可管理的和可扩展的数据服务合并 灵活性 选择最适合你业务的数据服务合并解决方案 · 合并具有多个数据库和实例的服务器 使用SQL Server 2008在一个单独的服务器实例中存放多个数据库,以便集中数据存储和管理.在一个 单独的服务器上运行多个SQL Server 2008的实例以便保持数据库应用的独立性,同时还降低了硬件成本 .许可成本和管理费用. · 通过虚拟化合

SQL Server2000服务器功能合并

概述 本文是 Microsoft 和 Dell 公司共同合作的成果,用来说明 Microsoft SQL Server 2000 和 Dell 硬件的可缩放性.在 Dell 企业版八路服务器上运行的 SQL Server 2000 可以支持上千个数据库及为数众多的用户,同时还可以提供进行集中管理所需的性能.SQL Server 2000 使用户能够在对称多重处理 (SMP) 系统方面获得最大的投资回报:用户可以增加处理器.内存和磁盘,以建立集中管理的大型企业服务器. 更多公司愿意从应用服务提供商

MS SQL基础教程:合并查询

合并查询就是使用UNION 操作符将来自不同查询的数据组合起来,形成一个具有综合信息的查询结果.UNION 操作会自动将重复的数据行剔除.必须注意的是,参加合并查询的各子查询的使用的表结构应该相同,即各子查询中的数据数目和对应的数据类型都必须相同. 在使用UNION的SELECT语句中,排序子句ORDER BY中最好用数字来指定排序次序,如果不用数字,则合并查询的子查询中的列名就需要相同.可以使用别名来统一列名. 查看全套"MS SQL入门基础教程"

sql 表关联 字段合并-SQL 如何将 两个table 的 字段怎么 合并到一张表

问题描述 SQL 如何将 两个table 的 字段怎么 合并到一张表 如图,如何将表A和表B合并成表C.记得sql有一个关键字可以实现,可怎么就是想不起来了. 解决方案 select cast(wr_jc_yearMonth.yearMonth as CHAR(7))+'-'+cast(wr_billCycleSet.billCycle as CHAR(2)) from wr_billCycleSet join wr_jc_yearMonth on 1=1 解决方案二: select cast(