Не знаю, как спросить это, так что имеет смысл, но я пытаюсь сделать запрос, как:MySQL Выберите: Получить основные записи по нескольким прикрепленным записям?
SELECT * FROM WHERE СТРАНИЦ присоединенной запись существует в PAGE_FILTERS и что запись имеет FilterTypeID 22 и другие прикрепленную запись существует в PAGE_FILTERS для одной и той же страницы ID и что запись имеет тип фильтра идентификатор 27.
у меня есть структура вроде этого:
PAGES table PageID PageName 1 Page 1 2 Page 2 3 Page 3 PAGE_FILTERS table PageID FilterTypeID FilterValueID 1 22 1 1 27 2 2 22 0 2 24 1 3 22 1 3 27 1 3 28 2
Таким образом, данные FilterTypeID от 22 до 27 лет, мой запрос должен return PageID 1 и 3. Страница 2 не выбирается с 22 совпадений, но нет записи m atching FilterTypeID 27.
Page 3 совпадает, хотя есть дополнительный фильтр.
Другими словами, я знаю, какие типы фильтров должна иметь страница, и мне нужно получить все страницы, на которых есть все необходимые типы.
Я не против изменения структуры базы данных, если это имеет смысл, но на каждой странице не может быть ни одного, ни одного или множества фильтров.