1

イベント賞品のすべてのデータを 1 行で表示するクエリを取得しようとしています。たとえば、これは私のテーブルの例です。

Event_id    Place    Money
101         1        120
101         2        60
101         3        30
102         1        100
102         2        50
102         3        25

私が望むのは、結果が次のようになることです。

Event_id    First    Second    Third
101         120      60        30
102         100      50        25

これを達成するための助けをいただければ幸いです。

4

2 に答える 2

4

お役に立てれば。

SELECT    Event_ID,
          GROUP_CONCAT(IF(place = 1, `money`, NULL)) `First`,
          GROUP_CONCAT(IF(place = 2, `money`, NULL)) `Second`,
          GROUP_CONCAT(IF(place = 3, `money`, NULL)) `Third`
FROM      tableName
GROUP BY  event_id

SQL のトリックについて詳しく知りたい場合は、次のサイトにアクセスしてください。

一般的だが便利な MySQL クエリ

SQLFiddle で参照

于 2012-05-07T05:46:47.857 に答える