zoukankan      html  css  js  c++  java
  • SQL拼接字段数据

    查询语句:

    SELECT 
    STUFF
    (
        (
            SELECT 
            ',' + --分隔符 
         KeyID --查询字段 FROM #tmp --查询数据表 WITH(NOLOCK) WHERE 1=1 --查询条件 FOR XML PATH('') ), 1,-- 0:NULL 1:原样输出 2++:首位添加分隔符 1,-- N:截取 N - Len 的字符 ''-- 在字符串首尾添加的符号 )

    测试语句:

    IF EXISTS(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmp')) --判断临时表【#tmp】是否存在
    BEGIN
        DROP TABLE #tmp  --删除临时表
    END
    
    
    CREATE TABLE #tmp --创建临时表
    (
        KeyID VARCHAR(36),
        KeyValue VARCHAR(max)
    )
    
    --项临时表插入测试数据
    INSERT INTO #tmp VALUES(newid(),'数据一')
    INSERT INTO #tmp VALUES(newid(),'数据二')
    
    --查询语句
    
    --单个字段
    SELECT 
    STUFF
    (
        (
            SELECT 
            ',' + --分隔符
            KeyID --查询字段
            FROM #tmp --查询数据表
            WITH(NOLOCK) 
            WHERE 1=1 --查询条件
            FOR XML PATH('')
        ),
        1,-- 0:NULL 1:原样输出 2++:首位添加分隔符
        1,-- N:截取 N - Len 的字符
        ''-- 在字符串首尾添加的符号
    )
    
    /*--多字段组合
    SELECT 
    STUFF
    (
        (
            SELECT 
            ',KeyID:'+ KeyID + ';KeyValue:' + KeyValue --查询字段
            FROM #tmp --查询数据表
            WITH(NOLOCK) 
            WHERE 1=1 --查询条件
            FOR XML PATH('')
        ),
        1,-- 0:NULL 1:原样输出 2++:首位添加分隔符
        1,-- N:截取 N - Len 的字符
        ''-- 在字符串首尾添加的符号
    )
    */

     查询结果(注:具体结果由自动生成的KeyID决定):

      1、单字段:

        1B0EC911-5C2B-4FDE-87BB-62981DE2030D,0527DF18-9EDD-484D-B770-B24B13C68CA1

      2、多字段组合:

        KeyID:33C28B1E-3F75-4119-A944-1DB7541088E0;KeyValue:数据一,

        KeyID:4ECF1696-7DB6-43C7-8182-22EEF676E2CF;KeyValue:数据二

     说明:

      1、数据库表与临时表查询方式一样,替换表和字段即可,谢谢。

    完美,只是因为简单。
  • 相关阅读:
    leetcode_question_67 Add Binary
    几种常用控件的使用方法
    JavaBean讲解 规范
    [置顶] JDK-CountDownLatch-实例、源码和模拟实现
    恋人分手后需要做的不是挽回而是二次吸引
    leetcode_question_70 Climbing Stairs
    偶然碰到的Win7 64位下CHM 的问题解决
    FTP中各文件目录的说明
    深入理解line-height与vertical-align(1)
    行内元素和块级元素
  • 原文地址:https://www.cnblogs.com/jschar/p/6142055.html
Copyright © 2011-2022 走看看