zoukankan      html  css  js  c++  java
  • 多条记录的同一字段组合成一个字符串 FOR XML PATH

    stuff(select ',' + fieldname  from tablename for xml path('')),1,1,'')

    这一整句的作用是将多行fieldname字段的内容串联起来,用逗号分隔。
    例如表
    fieldname
    -----------
    AAA
    BBB
    CCC
    串联之后就是字符串: AAA,BBB,CCC
    for xml path是SQL Server 2005以后版本支持的一种生成XML的方式。具体如何使用,请参考联机丛书。
    stuff函数的作用是去掉字符串最前面的逗号分隔符。

    ---------------------------------------------------------------

    在sql server 2000中只能用函数解决
    create table tb(id int, value varchar(10)) 
    insert into tb values(1, 'aa'
    insert into tb values(1, 'bb'
    insert into tb values(2, 'aaa'
    insert into tb values(2, 'bbb'
    insert into tb values(2, 'ccc'
    go 
    --1. 创建处理函数 
    CREATE FUNCTION dbo.f_strUnite(@id int
    RETURNS varchar(8000) 
    AS 
    BEGIN 
        DECLARE @str varchar(8000) 
        SET @str = '' 
        SELECT @str = @str + ',' + value FROM tb WHERE id=@id 
        RETURN STUFF(@str, 1, 1, ''
    END 
    GO 
    -- 调用函数 
    SELECt id, value = dbo.f_strUnite(id) FROM tb GROUP BY id 
     
    go
     
    id          value      
    ----------- ----------- 
    1          aa,bb 
    2          aaa,bbb,ccc 
     
  • 相关阅读:
    php--点赞功能的实现
    php --图片加图片水印
    php--获取用户ip
    json
    js中eval()和$.parseJSON()的区别
    Js操作Select大全(取值、设置选中等等)
    phpexcel--导入excel表格
    远程服务器连接
    iis 重新安装后 重新注册asp.net
    筛选两个数组中不同的元素
  • 原文地址:https://www.cnblogs.com/xiaonanmu/p/4828076.html
Copyright © 2011-2022 走看看