、、、のテーブルがusers
ありinductions
ますuser_inductions
。
users
テーブルにはとがid
ありname
、inductions
テーブルにはとがid
ありname
、user_inductions
持っていたid
、user_id
そしてinduction_id
。
すべての誘導とそれを行った人々のリストを返したいと思います。ただし、以下のようなテーブルを作成したいので、これを実行しました。クエリの編集方法がわからないので、必要に応じて情報を取得します。
------------------------------------------------------------------------------------
| name | tennis | cricket | rugby | squash | football | Table tennis | etc |
------------------------------------------------------------------------------------
| Bob | 0 | 1 | 0 | 1 | 1 | 0 | |
------------------------------------------------------------------------------------
| paul | 1 | 1 | 1 | 1 | 0 | 0 | |
------------------------------------------------------------------------------------
データをループして、上部に誘導のリストを表示し、各ユーザーがその主題で誘導されている場合は1、そうでない場合は0で下がっていきます。いくつかのクエリがありましたが、それらは、実行した誘導のみを持つすべてのユーザー、または誘導とそれらを実行したユーザーのいずれかのみを返します。
例えば:
SELECT CONCAT( `f_name` , ' ', `l_name` ) AS user, GROUP_CONCAT( pmainductions.name
ORDER BY pmainductions.id ) AS induction
FROM users
LEFT JOIN pmainduction_user ON users.id = pmainduction_user.user_id
LEFT JOIN pmainductions ON pmainductions.id = pmainduction_user.pmainduction_id
GROUP BY users.id
これは生成します
bob | cricket,squash,football
paul| tennis,cricket,rugby,squash
どんな助けでもいただければ幸いです。ありがとう :)