如何从 SQL CE 中的表中构建逗号分隔列表?

Posted

技术标签:

【中文标题】如何从 SQL CE 中的表中构建逗号分隔列表?【英文标题】:how to build a Comma seperated list from a table in SQL CE? 【发布时间】:2013-12-06 06:10:51 【问题描述】:

如何从 SQL CE 中的表构建逗号分隔列表?

我有一个名为 Group 的表,它有两列 ID 和 Name

我想从组表中选择一个逗号分隔的字符串。

所以如果我在组表中有如下 3 条记录

ID  | Name 
 1  | Msh
 2  | Nsh
 3  | Lsh 

我想得到一个逗号分隔的所有三个名字的列表,像这样Msh,Nsh,Lsh

SQL CE 我怎样才能完成这项工作?

【问题讨论】:

最好在你的逻辑中而不是在 SQL 中构建 但是,我需要在查询中使用它 使用可以使用我的SQLCECMD工具 【参考方案1】:

试试这个..

DECLARE @COMMA VARCHAR(MAX)
 SET @COMMA =''
 SELECT @COMMA =@COMMA +name+',' FROM yourtablename
 SELECT SUBSTRING(@COMMA,0,LEN(@COMMA))

【讨论】:

SQL CE 不支持变量声明,此方法不适用于 SQL CE【参考方案2】:
    You can develop a simple logic in SQL. This is a dummy code you can try and modify the code as per your requirements.

    declare
        i varchar2(100);
        j varchar2(100);
        begin
        for i in (select name from avrajit)
        loop
        j:=i.name||','||j;
        end loop;
        dbms_output.put_line(j);
        end;

---------------------------------------
OUTPUT
---------------------------------------

Hitesh,Sushil2,Mukul,Shyam,Nikheel,Avrajit,Sushil,

Statement processed.

【讨论】:

SQL CE 不支持变量声明,因此此方法不适用于 SQL CE。不幸的是,这没有回答我的问题。

以上是关于如何从 SQL CE 中的表中构建逗号分隔列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何从包含逗号分隔条目的变量中创建(不同的)值列表?

如何将表中列中的逗号分隔值放入 SQL IN 运算符?

如何实现搜索功能?

从一个表中选择一个逗号分隔的值,并使用 SQL Server 中的函数在另一个表中的 where 条件中使用它

从表中选择 WHERE 子句中具有不同 IN 列表的表

SQL Server 2005 中的逗号分隔值插入