Показать сообщение отдельно
Старый 31.07.2015, 13:23   #11  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Небольшое дополнение касаемо having: там, наверно, все же надо использовать условие >=
Я не уточнил, что кросс-таблица должна быть уже отфильтрована по категориям (Range-ом или exists join-ом). И в этом случае условие "больше" просто никогда не выполнится. Так как если группировать нефильтрованную кросс-таблицу, то условие "больше" вполне может сработать для поставщиков, у которых просто много категорий, но части выбранных - нет:

пост кат
а 1
а 2
а 5
а 6
а 7
б 1
б 2
б 3
б 4

выбор польз-ля: 1, 2, 3

если не фильтровать, то получаем:
а 5 (>=3) - ОК
б 4 (>=3) - ОК

а если с фильтром "1,2,3" :
а 2 (==3) - FAIL
б 3 (==3) - OK

PS: решал похожую задачу, правда она была сложнее, в итоге пришлось вообще делать прямые SQL-запросы с HAVING-ом и кучей вложенных селектов
__________________