0

以下のクエリを使用して、ミートアップ (イベント) に関する情報を取得します。次に、ミートアップを表示しているユーザーが参加しているかどうかを知る必要があります。

SELECT
 meetups.id,
 meetups.meetup_name,
 meetups.url_meetup,
 meetups.meetup_text,
 meetups.date,
 meetups.time,
 users.username,
 TIMESTAMPDIFF(YEAR,users.birthdate,CURDATE()) AS age,
 c1.city_name as meetup_city,
 c2.city_name as user_city   
FROM
 meetups  
 LEFT JOIN users ON
  meetups.author_id=users.id
 LEFT JOIN cities c1 ON
  c1.postalcode = meetups.postalcode
 LEFT JOIN cities c2 ON
  c2.postalcode = users.postalcode
WHERE
 meetups.url_meetup = ?

さまざまなミートアップに参加しているユーザーを保存する meetup_participants というテーブルがあります。

このテーブルの構造は単純です。

meetup_id, user_id

2 つの列に一意のインデックスを付けます。

したがって、meetups.id = meetup_participants.id のテーブルに参加する必要があり、user_id はセッションに保存されているものと同じにする必要があります。

ユーザーが参加している場合は 1、参加していない場合は 0 として結果を取得したいと思います。

selectステートメントでこれを行うにはどうすればよいですか(できればサブクエリなしで)?

4

1 に答える 1