ユーザーが作成したイベントとユーザーがサインアップしたイベントを表示しようとしています。これには3つのテーブルがあります。
//events
| event_id | event_title | event_details | event_timestamp | userid
1 title1 test 1234 1
2 title2 testing2 123 2
//registration_items : event_id references events.event_id
| id | event_id | task_name
1 2 task 1
//registration_signup : id references registration_items.id
| id | userid | timestamp
1 1 1234
これが私が持っている現在のクエリです。現在、ユーザーが作成したイベントのみが表示されます。作成されたイベントと彼がサインアップしたイベントの両方が表示されます
select events.*, registration_items.*, registration_signup.*, users.username from events
INNER JOIN users on users.userid = events.userid
LEFT JOIN registration_items ON registration_items.event_id = events.event_id
LEFT JOIN registration_signup ON registration_signup.id = registration_items.id
WHERE events.userid = '$user_id' OR registration_signup.userid = '$user_id' ORDER BY events.event_timestamp DESC
userid1の場合、出力は次のようになります。
Title
title1 (the user created this)
title2 (the user signed up for this)
userid2の場合、出力は次のようになります。
Title
title2