Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как сделать выборку под циклом (каждый последующий запрос - к результату предыдущего)
|
|||
|---|---|---|---|
|
#18+
Добрый день! Хочу сделать одним запросом следующее: Код: sql 1. 2. 3. 4. Собственно, задача в чем: В таблице хранятся свойства товаров... Структура таблицы такова: id|prod_id|feature_id|value Связи: prod_id => id из таблицы products feature_id => id из таблицы features Мне нужно получить товары, у которых нужный мне feature_id и value и при этом фильтров может быть несколько... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 16:42 |
|
||
|
Как сделать выборку под циклом (каждый последующий запрос - к результату предыдущего)
|
|||
|---|---|---|---|
|
#18+
atillusфильтров может быть несколько... В зависимости от логики фильтры объединяются операторами OR либо AND. В одном запросе, без наворотов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 16:48 |
|
||
|
Как сделать выборку под циклом (каждый последующий запрос - к результату предыдущего)
|
|||
|---|---|---|---|
|
#18+
Akina, не получается так... Вот почему: [CSV] id,prod_id,feature_id,value 1,234,3,зеленый 2,237,3,красный 3,245,4,большой 3,246,4,маленький [CSV] -- если так WHERE ( feature_id = 3 AND value = 'зеленый' ) AND ( feature_id = 4 AND value = 'большой' ) -- результат: ноль -- если так WHERE ( feature_id = 3 AND value = 'зеленый' ) OR ( feature_id = 4 AND value = 'большой' ) -- результат: все ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 16:59 |
|
||
|
Как сделать выборку под циклом (каждый последующий запрос - к результату предыдущего)
|
|||
|---|---|---|---|
|
#18+
Я сделал для образца небольшой пример (облегченный и упрощенный) - дамп приложил. Если делать так: Код: sql 1. 2. 3. 4. то получим и все черные, и все 41-го размера А если так: Код: sql 1. 2. 3. 4. то не получим ничего... Поэтому я ищу возможность поочередно применять условия к предыдущему результату... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 17:57 |
|
||
|
Как сделать выборку под циклом (каждый последующий запрос - к результату предыдущего)
|
|||
|---|---|---|---|
|
#18+
Следует выбрать все записи с нужными комбинациями (feature_id,value), сгруппировать по продукту и подсчитать количество отобранных для продукта записей. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2017, 19:52 |
|
||
|
|

start [/forum/search_topic.php?author=wissem&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 445ms |
| total: | 589ms |

| 0 / 0 |
