zoukankan      html  css  js  c++  java
  • SQL行转成以逗号分割的字符串!

    1、首先是学生表中有ClassId这一列,最终先展示效果大至如:12,13,14的结果,底下有两种做法可参考:

    •   利用sql语言 xml path做
    select parentId=(select ParentId from Organization where Id=586),
             ClassId=isnull
             (
               (
                   select temp.ClassId from
                   ( 
                      select ClassId=stuff
                      (
    	     (
                           select ','+Convert(nvarchar(10),ClassId,120) from Class
                                   where OgId=586 and Grade=2011
    	               for xml path('')
    	      ), 1, 1, ''
    	  )  from Class where OgId=586 and Grade=2011
                  ) temp group by temp.ClassId
               ),''
             )
    
    •   利用函数去做
    /****** 对象:  UserDefinedFunction [dbo].[GetClassIdByStuId]    脚本日期: 04/14/2012 19:08:30 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE function [dbo].[GetClassIdByStuId]
    (@StuID INT)
    --实现spilt功能 的函数
    --date    :2003-10-14
    returns nvarchar(4000) 
    AS
    begin
        DECLARE @temp VARCHAR(4000)
        SET @temp=''
        SELECT @temp =(
                        CASE WHEN @temp =''
                            THEN
                              CAST(ClassId as varchar)
                            ELSE
                              @temp+','+ CAST(ClassId as varchar)
                            END
                       )
        FROM ClassStuInfo WHERE ClassStuInfo.StuId=@StuID
        RETURN @temp
    end
    

     上面写的很清楚,希望对大家有用!

  • 相关阅读:
    后缀字符串 计蒜客模拟赛
    HDU 1087 最长不下降子序列 LIS DP
    POJ 3126
    Authorize by ClaimIdentity by Owin
    Authencation WebApi Learning
    Agency-AccrualDetails Table Summary
    EF usage with ABP
    Scss environment setup
    Tips about CSS usage
    Send Mail C#
  • 原文地址:https://www.cnblogs.com/BeyondWJsel/p/2461114.html
Copyright © 2011-2022 走看看