-Goal-
Я хотел бы получить пользователей, у которых нет записи в таблице 'bar'. Эти пользователи также будут принадлежать к определенной «группе пользователей» и имеют ограничения внутри самой таблицы «пользователей».
Упрощенная структура таблицы
Пользователь
userid - auto-increment
username - string
userage - integer
usergroup_usergroupid - foreign key
1010 * группа пользователей *
usergroup - auto-increment
usergroupname - string
user_has_bar
user_userid - foreign key
bar_barid - foreign key
- Запрос ... пока -
SELECT username
FROM user as u, usergroup as ug, user_has_bar as ub
WHERE
u.usergroup_usergroupid = ug.usergroupid AND
u.userage = 10 AND <-- lets pretend this exists
u.location_locationid = 1 AND <-- Same here
u.userid ... ub.user_userid;
-Headache-
Именно эта последняя строка заставляет меня бросать пробелы. Я полагаю, что из того, что я прочитал, способ выполнить эту операцию - с помощью LEFT JOIN. Однако все, что я прочитал до сих пор, оказывается довольно запутанным.
Если возможно, я хотел бы сохранить эту операцию в запросе mySQL, а затем оптимизировать ее позже. Она создается с помощью генератора PHP mySQL, который я кодировал, и я хотел бы понять простой синтаксис, а затем углубиться в него. Любой подход очень приветствуется, хотя
Спасибо, что прочитали этот вопрос.