我使用下面的查询来检索有关聚会(活动)的信息,现在我需要知道查看它的用户是否参与其中。
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
在两个列上具有唯一索引。
所以我需要以某种方式加入meetups.id = meetup_participants.id 上的表格,并且user_id 必须等于存储在会话中的那个。
我只想得到结果,如果用户参与,则为 1,如果他不参与,则为 0。
我如何在 select 语句中执行此操作(最好没有子查询)?