• opc.three (11/8/2012)


    cs_troyk (10/29/2012)


    Not that I advocate switching to a "toy" RDBMS, but MySQL does have the GROUP_CONCAT operator which makes this type of thing a little more elegant. It's something to be aware of in case you ever need to migrate from a MySQL db.

    -TroyK

    MySQL's GROUP_CONCAT() function implements a semantically different piece of functionality than what Wayne has demonstrated in the article. Notice that the query in the article is not an aggregate, i.e. no GROUP BY clause.

    Take a look at the CTE from the article, and consider the effect of the "DISTINCT" keyword.

    Here's the MySQL solution to the comma-separated list problem:

    SELECT AccountNumber, GROUP_CONCAT(Value ORDER BY Value) AS 'CommaList'

    FROM T

    GROUP BY AccountNumber

    ORDER BY AccountNumber;

    It produces the same output as the T-SQL solution.

    -TroyK