У меня есть две таблицы: одна для пользователей и одна для продлений. Я хочу выбрать всех пользователей, у которых есть строка в таблице обновлений для определенного года, и я могу сделать это нормально. Однако, если в таблице обновлений есть несколько строк для конкретного пользователя для конкретного года, я получаю дубликаты, которые мне не нужны.
Полагаю, это потому, что я до сих пор не совсем понимаю JOINS, поэтому вот мой запрос:
SELECT * FROM `users` AS US
RIGHT JOIN `usermeta` UM1
ON UM1.`user_id` = US.`ID`
RIGHT JOIN `membership_renewals` MR
ON MR.`user` = US.`ID` AND MR.year = '2011'
WHERE
UM1.meta_key = 'member'
AND UM1.meta_value = 1
AND US.`user_pass` NOT LIKE '-%'