Я использую mysql в php, чтобы отправлять клиентам по электронной почте напоминание, основанное на определенных условиях, оно должно возвращать результат и отправлять электронное письмо клиенту только в том случае, если у этого уникального клиента есть активная учетная запись ca = 0, некоторые клиенты имеют более одной учетной записи ca, поэтому будет ли я активным = 0 и активным = 1 для их членства
Я попробовал SQL ниже, который возвращает 3 результата
Билли и Даниэль правы, они просто активны = 0, поэтому должны появиться
У Бекки есть и активные = 0, и активные = 1 для ее 2-х соответствующих учетных записей, поэтому SQL должен посмотреть на свой запрос и понять, что «Бекки не имеет активного = 1», поэтому не должен появляться. это только Билли, Дэниел вернулись.
SELECT
u.id,
u.forename,
u.surname,
u.email,
m.password,
m.user_id,
m.active,
m.promotional_code
FROM
user u
LEFT JOIN ca_accounts c ON u.id = c.user_id
LEFT JOIN member m ON u.id = m.user_id
WHERE
u.active = 1 AND m.active = 1
AND m.group_id IN (26)
AND (from_unixtime(m.end_date) > NOW()
AND from_unixtime(m.end_date) < DATE_ADD(NOW(), INTERVAL 1 DAY))
AND c.active = 0
LIMIT 0, 25
Выход:
id forename surname email password user_id active
2923 Billy billy@ NULL 2923 1
4763 Daniel daniel@ NULL 4763 1
781 Beckly becky@ NULL 781 1
Что должно дать:
id forename surname email password user_id active
2923 Billy billy@ NULL 2923 1
4763 Daniel daniel@ NULL 4763 1
изображение идентификатора пользователя 781 с таблицей счетов