
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
15.04.2016, 01:56
|
|||
|---|---|---|---|
|
|||
HAVIN COUNT и WHEN THEN в MYSQL нужна помощь |
|||
|
#18+
Приветствую. Помогите пожалуйста с WHEN и HAVING кодом. В общем суть такова, это поисковый фильтр, и пока человек не выберет несколько возможныж значений, все работает верно, но когда есть процедура OR в условиях, то count может вернуть не 3 а только 1 вхождение например, ну т.е. тогда увеличивать число HAVING count > 1 нельзя. Как тогда сделать что бы в выборке одно условие с OR считалось как 1 в выдаче? Если не совсем понятно описал то вот пример: есть товар СМАРТФОН, и значения РАЗМЕР и ЦВЕТ. Если выбран РАЗМЕР 220см, то первая выдача верная и HAVING count > 1 верно. Если выбрать еще цвет, СИНИЙ напрмиер то тоже все ок, HAVING count > 1 снова 1. Но если ставят два цвета "СИНИЙ, ЗЕЛЕНЫЙ" то HAVING count надо ставить уже 2, но тут проблема т.к. тогда покажет куча лишних вхождений т.е. элемент OR тогда я снова делать -1 от финального значения, т.е. HAVING count > 1 но тогда в выдаче бывает каша т.е. берутся уже левые товары в выдаче. Как-то можно объединить эти элементы по GROUP внутри WHEN или как обойти данную ошибку? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1831900]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
167ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
22ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 476ms |

| 0 / 0 |
