0

次のサンプル テーブルがあるとします。

C1     C2      C3
=================
A      21      S
A      22      S
A      23      S
A      24      T
B      25      S
B      26      S

次の出力を与える SQL クエリを作成するにはどうすればよいですか。

COL1   COL2       COL3
======================
A      21,22,23      S
A      24            T
B      25,26         S

C1 と C3 が同じである入力テーブルのすべての行について、すべての C2 値が連結され、コンマで区切られている出力テーブルの 1 つの行が必要です。

私はOracleデータベースを使用しています。

4

3 に答える 3

0

これはデータベース固有の回答になるため、使用しているデータベースを教えてください。Mysql は人気があるので、Mysql5 の回答は次のとおりです。

select col1, group_concat(col2 SEPARATOR ','), col3 from tbl group by col1,col3;
于 2012-05-10T03:49:20.280 に答える
0

Oracle 11g を使用している場合は、これを試してください

SELECT 
     C1, 
     LISTAGG(C2, ',') as C2,
     C3
from 
     tbl 
GROUP BY 
     C1,C1
于 2012-05-10T03:42:22.673 に答える
-1

MySQL では、Group_Concatを使用できます。例えば:

SELECT GROUP_CONCAT(Language) as Languages FROM CountryLanguage WHERE CountryCode = 'THA';

于 2012-05-10T03:47:15.447 に答える