zoukankan      html  css  js  c++  java
  • SQL SEVER的while循环

    今天一个同事问我说能不能把sql查询结果的一列userid用逗号分割,串到一起,这样查询出来的结果就可以直接用了

    于是我就去查了一下怎么实现。

    --你要查询的结果,给它加序号
    select row_number() over ( order by mbid desc ) as rownum, mbid 
    into #a from sx_mb_info
    --循环赋值
    declare @i int,@j int,@result varchar(5000) 
    set @i=1
    select @j= max(rownum)from #a
    set @result=''
    while @i<@j+1
    begin
        select @result=@result+ mbid+','  from #a where rownum=@i
        set @i=@i+1;
    end
    select @result
    drop table #a

    如下,当时碰到的问题是

    如果给变量赋查询结果的值,一直不行。

    最后查了一下才知道原来这么SQL给变量赋值的方法有两种(目前我就知道这两种)

    一种是直接set @i='啦啦啦'

    另一种是用select

    在正常的select语句中加上变量

    如下面 

    select @j= max(rownum)from #a
    好记性不如烂笔头,让积累成为一种习惯。
  • 相关阅读:
    spring快速入门
    Vue整合ElementUI搭建项目
    .Net的Rsa解密
    Maven配置国内仓库
    pom.xml
    SpringBoot文件打包后修改配文件
    .net 过滤器
    c#语法糖汇总
    git修改远程地址
    abp Application层,接口服务层,获取请求的信息
  • 原文地址:https://www.cnblogs.com/sameLin/p/12092072.html
Copyright © 2011-2022 走看看