• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    SQL 合并多行记录的相同字段值
    1.从数据库中先查询符合条件的记录,存放于一个DataTable中,在使用c#等开始遍历这张表,利用DataRow中的主键,再去读取相应的符合条件的多条记录,合并这些第二次读取到的记录内容,返回给前面的这个DataRow数据行。这样做没有错,但是如果数据量大,我们可能面临无数次的打开断开数据库链接,速度效率将会很低。
    2.从数据库中一次读取数据到一张表中返回并显示到UI层。说起来谁都想这么做,但是以前太笨,没有去研究这个,今天因为数据量较大的原因,让我不得不想些其他办法来提高点效率。
    Google~hk一下,果真有答案,然后依葫芦画瓢,自己写了一个
    目的是获取不定量的符合条件的兼职记录,并将每个兼职参与项目情况记录到某几个字段当中,然后一次返回Table
    复制代码 代码如下:

    Create function Fn_GetJobListByPID--创建自定义函数获取指定兼职参与的所有项目编号及项目数量
    (
    @ParttimerID int
    )
    returns @t table(Jobs varchar(5000),ParttimerID int,TotalCount int)
    as
    begin
    declare @sql varchar(5000),@TotalCount int
    set @sql=''
    set @TotalCount=0
    select @sql=@sql+j.JobNo+'-'+j.JobWave+' ',@TotalCount=@TotalCount+1
    from ONJB_JobApplication a,ONJB_Jobs j
    where a.ParttimerID=@ParttimerID
    and a.Result='V'
    and a.JobID=j.JobID
    insert @t values(@sql,@ParttimerID,@TotalCount)
    return
    end

    引用
    复制代码 代码如下:

    --...........................
    --做过项目
    left join (select Jobs,ParttimerID,TotalCount From Fn_GetJobListByPID(@ParttimerID)) as j1
    on p.ParttimerID=j1.ParttimerID
    --在做项目
    left join (select CurJobs,ParttimerID,CurCount From Fn_GetCurJobsByPID(@ParttimerID)) as j2
    on p.ParttimerID=j2.ParttimerID
    where p.ParttimerID=@ParttimerID
    您可能感兴趣的文章:
    • 简单有用的SQL脚本 (行列互转,查询一个表内相同纪录等)
    • 一个用来统计相同姓名人数的SQl语句
    • php中批量删除Mysql中相同前缀的数据表的代码
    • sqlserver通用的删除服务器上的所有相同后缀的临时表
    • sql函数实现去除字符串中的相同的字符串
    • mysql中多表删除其中ID相同记录的方法
    • 用SQL语句查询数据库中某一字段下相同值的记录方法
    • 如何使用MySQL查询某个列中相同值的数量统计
    • SQL中遇到多条相同内容只取一条的最简单实现方法
    上一篇:mysql 数据库中索引原理分析说明
    下一篇:MSSQL Server 查询优化方法 整理
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    SQL 合并多行记录的相同字段值 SQL,合并,多行,记录,的,相同,