0

私はこのような結果セットを持っています

Continent   Country
------- -------
Asia    Japan
Asia    Russia
Asia    India
Europe  Britain
Europe  France

クエリから

select continent,country from tablexxx

フォーマットで結果が欲しい

Continent   Country
------- -------
Asia    Japan,Russia,India
Europe  Britain,France

ピボットテーブルについて聞いたことがあります。しかし、それは私には難しいようです...クエリの助けをお願いします:)

SQL Server での私の最終的な解決策は次のとおりです。動作します... :)

SELECT     continents, Countries = replace
                          ((SELECT Countries AS [data()]
                              FROM tblXXX
                              WHERE  continents = a.continents
                              ORDER BY continents FOR xml path('')), ' ',  ',' )
FROM       tblXXXa
WHERE     continents IS NOT NULL
GROUP BY continents
4

2 に答える 2

1

MySQLを使用する場合は、GROUP_CONCATを使用する必要があります

例:

SELECT continent, GROUP_CONCAT(county ORDER BY country) as Countries 
FROM tablexxx
GROUP BY continent
ORDER BY continent

リンク
http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

于 2011-08-11T13:56:20.673 に答える
0

次の例のように、COALESCE関数を使用して、行からコンマ区切りのリストを作成できます。

DECLARE @EmployeeList varchar(100)

SELECT @EmployeeList = COALESCE(@EmployeeList + ', ', '') + 
   CAST(Emp_UniqueID AS varchar(5))
FROM SalesCallsEmployees
WHERE SalCal_UniqueID = 1

SELECT @EmployeeList
于 2011-08-11T13:55:58.983 に答える