У меня события , events_styles , events_formats таблицы (у события может быть много стилей и много форматов) Я пытаюсь отфильтровать события, которые имеют events_stylesjoin и events_formats присоединиться.Таким образом, запрос должен выбрать все события, которые имеют определенный стиль И конкретный формат - мои попытки пока:
SELECT * FROM events
JOIN events_styles ON events.id = events_styles.event_id
JOIN events_formats ON events.id = events_formats.format_id
WHERE events_styles.style_id = 3 AND events_formats.format_id = 1;
Empty set (0.00 sec)
SELECT * FROM events_styles
WHERE events_styles.style_id = 3
+----------+----------+
| event_id | style_id |
+----------+----------+
| 3 | 3 |
| 2 | 3 |
| 4 | 3 |
+----------+----------+
3 rows in set (0.00 sec)
SELECT * FROM events_formats
WHERE events_formats.format_id = 1
+----------+-----------+
| event_id | format_id |
+----------+-----------+
| 1 | 1 |
| 3 | 1 |
| 4 | 1 |
+----------+-----------+
3 rows in set (0.00 sec)
Итак, первый запрос должен вернуть событие с идентификатором 4?Я уверен, что мне нужно объединить 2-й и 3-й запрос в подзапрос, но я не уверен в синтаксисе - спасибо