у меня трудные времена с большим сложным запросом, я написал:
SELECT e.id, e.name,e.age, e.area, e.date,e.private, e.place, p.*, COUNT(user) AS attending
FROM events AS e
LEFT OUTER JOIN
(SELECT user, event
FROM attendance
) AS a
ON a.event = e.id
LEFT OUTER JOIN
(SELECT name AS place_name, id as idd, nz AS place_loc, coor
FROM places
) AS p
ON p.idd = e.place
where (e.age LIKE "%{17-18}" OR e.age LIKE "%{18-19}" OR e.area LIKE "%{1}" OR e.area LIKE "%{2}" OR e.area LIKE "%{4}" OR e.area LIKE "%{6}" OR e.area LIKE "%{32}" OR e.area LIKE "%{37}" OR e.private LIKE '%id%' )
GROUP BY e.id, e.name
ORDER BY attending DESC
limit 0,7
Этот запрос дает мне события, сортирует их по таблице посещаемости, а также дает мне информацию о месте, где проходит событие.
В любом случае, проблема в области ГДЕ ... у каждого пользователя разные возрасты и области. пример:
возраст: {17-18}, {20-22} областей: {0}, {1}, {2}
каждое событие имеет одно и то же - возраст и область ... я пытаюсь найти соответствие:
если установлено событие: ages- {15-16}, {17-18} и для пользователя задано хотя бы одно из них, оно будет соответствовать.
Я не против изменить способ хранения возрастов и областей ... я уверен, что я не справляюсь с этим с помощью {}, все, что я хочу, - это способ установить предпочтения пользователя, где он может сохранять коды городов и диапазон возрастов, а затем я хочу выбрать из событий только событие, которое совпадает с возрастом и областями пользователя.
Большое спасибо! очень ценный