私はこのクエリを持っています:
SELECT a.*, b.id AS host_id, COUNT(c.event_id) AS count_joins, COUNT(d.event_id) AS joined
FROM (`events` AS a)
INNER JOIN `users` AS b ON `b`.`id` = `a`.`host_id`
LEFT JOIN `joins` AS c ON `c`.`event_id` = `a`.`id`
LEFT JOIN `joins` AS d ON `d`.`event_id` = `a`.`id` AND d.user_id = 1
WHERE `a`.`date` > '1000-10-10 10:10:10'
GROUP BY `a`.`id`
ORDER BY `a`.`date` ASC
LIMIT 20
すべてのイベント、作成者、参加数を取得し、現在のユーザー(id = 1)がイベントに参加したかどうかを確認します。
ユーザーがイベントに参加したかどうかを確認するのに問題があります。ユーザーが参加した場合は1、参加していない場合は0ではなく、参加数が返されます。