Подскажите по созданию запроса

Jon

Новичок
Есть таблица с параметрами объекта.



Подскажите как найти objects_id у которых additional_fields_id = 5 и 11 (именно И)

Т.е. запрос вида
PHP:
SELECT * FROM _objects_additional_fields WHERE additional_fields_id IN (5,11)
не подойдет.

Натолкните на идею реализации
 

Jon

Новичок
Забыл дописать, что не обязаьтельно может быть 2 параметра для поиска (5,11), их может быть больше
 

Jon

Новичок
Понял уже что запросом не реально сделать. Получается в массив все вынимать и сравнивать чтоли...
 

prolis

Новичок
Код:
select objects_id from _objects_additional_fields
where additional_fields_id in (5,11)
group by objects_id
having count(*)=2
 

Вурдалак

Продвинутый новичок
Код:
SELECT objects_id FROM _objects_additional_fields WHERE additional_fields_id IN (5,11) GROUP BY objects_id HAVING COUNT(*) = 2
 

Jon

Новичок
а можно на будущее, что означает?
PHP:
HAVING COUNT(*) = 2
точнее даже
PHP:
COUNT(*) = 2
 

prolis

Новичок
тут весь фокус в:
field in (V1....Vn)
having count(*)=n
- как ты и просил что бы количество (count) выбранных свойств было равно количеству заданных (in)
 

Jon

Новичок
тут весь фокус в:
field in (V1....Vn)
having count(*)=n
- как ты и просил что бы количество (count) выбранных свойств было равно количеству заданных (in)
понял, просто попробовал написать

PHP:
IN (5,11,19,20) GROUP BY objects_id HAVING COUNT(*) = 4
И проверяй результат, понял что не правильно он ищет. Но может у меня косяк конечно.
 

prolis

Новичок
покажи пример. он может выдать не ожидаемый результат если у объекта свойства задвоены
 
Сверху