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 
     
  • 相关阅读:
    处理缺失值
    数据清理
    数据聚合
    ajax动态生成table
    MangeEmpHashMap
    Arraylist的雇员管理操作
    jsp获取一个对象和list对象
    Controller比较两个对象discs、outlets中的元素是否相等。相同则相应的checkbox为checked
    限制input text输入的类型(数字,字母,小数点)
    联合主键的映射运用
  • 原文地址:https://www.cnblogs.com/xiaonanmu/p/4828076.html
Copyright © 2011-2022 走看看