複数のは、同じテーブルに合流します

ビーインタラクティブ:

私は簡単なようで、クエリを達成しようとしているが、私はそれが正常に動作することはできません。ここに私のデータベーステーブルの構造です:

members
    -> id
    -> last_name
    -> first_name
activities
    -> id
registrations
    -> id
    -> member_id
tandems
    -> id
    -> activitie_id
    -> registration_member_one
    -> registration_member_two

ここで私が達成したいものです。

Mutlipleメンバーが活動に登録することができます。その後、私のグループタンデムによって登録。私が記載されているすべてのタンデムでのビューをしたいと私の問題があります。私は、クエリをしようとすると、それが何度も重複し、私に複数の行を提供します。

以下の表の例は、私が持っていると思います。

tandems.id | activities.id | registration_member_one.members.last_name | registration_member_two.members.last_name
1          | 3             | John Doe                                  | Jane Doe

ここで私が働いているクエリです:

SELECT
tandems.*,
memberOne.id, memberOne.last_name, memberOne.first_name,
memberTwo.id, memberTwo.last_name, memberTwo.first_name,
memberOne_registration.member_id as memberOne,
memberTwo_registration.member_id as memberTwo

FROM tandems

JOIN registrations as memberOne_registration
ON memberOne_registration.member_id = tandems.registration_member_one
JOIN members as memberOne ON memberOne.id = memberOne_registration.member_id

JOIN registrations as memberTwo_registration
ON memberTwo_registration.member_id = tandems.registration_member_two
JOIN members as memberTwo ON memberTwo.id = memberTwo_registration.member_id

WHERE activitie_id = 3;

すべてのヘルプは大歓迎します!

グレース:

エラーが間違ったカラム(接合によって引き起こされるmember_idの)registrationsを持つテーブルをtandemsテーブル代わりにカラムがregistrations.id使用されるべきです。

SELECT
tandems.*,
memberOne.id, memberOne.last_name, memberOne.first_name,
memberTwo.id, memberTwo.last_name, memberTwo.first_name,
memberOne_registration.id as memberOne,
memberTwo_registration.id as memberTwo

FROM tandems
JOIN registrations as memberOne_registration ON memberOne_registration.id = tandems.registration_member_one
JOIN members as memberOne ON memberOne.id = memberOne_registration.member_id
JOIN registrations as memberTwo_registration ON memberTwo_registration.id = tandems.registration_member_two
JOIN members as memberTwo ON memberTwo.id = memberTwo_registration.member_id

WHERE activitie_id = 3;

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=5930&siteId=1