【问题标题】:How to convert second select statement result to CSV String in main select statement?如何在主选择语句中将第二个选择语句结果转换为 CSV 字符串?
【发布时间】:2010-08-08 16:34:58
【问题描述】:

如何在主选择语句中将第二个选择语句结果转换为CSV字符串?

假设以下 SQL 语句:

SELECT A1,A2, (SELECT aCol FROM Table2) as A3
FROM Table1

现在,我想将 SELECT aCol FROM Table2 的结果转换为显示在 A3 字段的 CSV 字符串。 如:

A1Value | A2Value | A3Value1, A3Value2, A3Value3

谢谢。


更新:

Solution for MySql

【问题讨论】:

    标签: sql mysql sql-server tsql


    【解决方案1】:

    您知道,如果没有相关性,您会为返回的每一行得到相同的逗号分隔列表?

    对于 MySQL

    使用GROUP_CONCAT函数:

    SELECT t.a1,
                t.a2,
                (SELECT GROUP_CONCAT(t2.acol)
                    FROM TABLE_2 t2) AS A3
       FROM TABLE_1 t
    

    假设 SQL Server 2005+

    用途:

    SELECT t.a1,
                t.a2,
                STUFF(ISNULL(SELECT ', '+x.acol                
                                       FROM TABLE_2 x 
                                GROUP BY x.acol             
                                  FOR XML PATH ('')),''),1,2,'')
      FROM TABLE_1 t
    

    【讨论】:

    猜你喜欢
    • 2021-08-04
    • 2020-04-03
    • 2016-05-07
    • 2018-01-22
    • 2015-08-19
    • 2017-05-27
    • 2013-09-29
    • 2020-02-12
    相关资源
    最近更新 更多