5

私はこのような tb1 テーブルを持っています:

name   email               link
john   myemail@gmail.com   google
john   myemail@gmail.com   facebook
john   myemail2@gmail.com  twitter
....
....
and more

クエリでデータを呼び出すと、次のようになります

SELECT name, email, group_concat(DISTINCT link SEPARATOR '/') as source
FROM tb1
group by email

そして結果は次のようになります:

NAME    EMAIL               SOURCE
john    myemail2@gmail.com  twitter
john    myemail@gmail.com   facebook/google
....
....
and more

sqlfiddle

結果を次のようにしたい:

NAME    EMAIL               SOURCE 1       SOURCE 2
john    myemail2@gmail.com  twitter
john    myemail@gmail.com   facebook       google

クエリだけで結果を出すことはできますか?

注:動的列ソースを1、2、3 ....、nにしたい

4

3 に答える 3

1

いいえ、MySQLでは動的に追加の列を作成できないため、できません...(これは、よりオラップのものであるか、ピボットテーブルと呼ばれる機能を許可します)

于 2013-10-08T10:05:47.927 に答える