Concat all column values in sql

前端 未结 12 666
迷失自我
迷失自我 2020-12-01 00:07

How to concat all column values from differenct rows returned from a sql query into one value? This is an example:

a query returns:

FOO
------
RES1

RES2
         


        
12条回答
  •  一向
    一向 (楼主)
    2020-12-01 00:53

    In SQL Server:

    SELECT  col1 AS [text()]
    FROM    foo
    FOR XML PATH ('')
    

    In MySQL:

    SELECT  GROUP_CONCAT(col1 SEPARATOR '')
    FROM    foo
    

    In PostgreSQL:

    SELECT  array_to_string
            (
            ARRAY
            (
            SELECT  col1
            FROM    foo
            ), ''
            )
    

    In Oracle:

    SELECT  *
    FROM    (
            SELECT  col1, ROW_NUMBER() OVER(ORDER BY 1) AS rn
            FROM    foo
            MODEL
            DIMENSION BY
                    (rn)
            MEASURES
                    (col1, col1 AS group_concat, 0 AS mark)
            RULES UPDATE (
                    group_concat[rn > 1] =  group_concat[CV() - 1] || col1[CV()],
                    mark[ANY] = PRESENTV(mark[CV() + 1], 0, 1)
                    )
            )
    WHERE   mark = 1
    

提交回复
热议问题