|
|
|
Помогите с хитрым запросом
|
|||
|---|---|---|---|
|
#18+
Добрый день, Помогите составить запрос, необходимо выбрать листы(фэйворитс), в которых находятся товары (1 ко многим) у товаров есть категории (1 ко многим), у одного товара может быть много категорий. Необходимо фильтровать листы, так чтобы они выводились только тогда когда товары имеются во всех категориях , к примеру: Делаем выборку по категории массаж, рестницы, ногти, необходимо чтобы в листе были товары во всем перечне этих категорий, может быть 1 товар в 3х категориях или 3 товара у каждого по одной категории, вообщем чтобы они все присутствовали. Таблицы: авторЛисты `lists` : id, name, added Связующая листы с продуктами `lists_product_ids` : id, list_id, product_id Продукты `product` : id, name, description Связующая продукты категории `product_category_ids` : id, product_category_id, product_id Категории `category` : id, name Запрос, который составил, он работает не верно, поскольку выбирает лист, если даже имеется 1 товар в 1ой категории, фильтром тут не пахнет. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2015, 12:10:03 |
|
||
|
Помогите с хитрым запросом
|
|||
|---|---|---|---|
|
#18+
Василий Р., читать про реляционное деление и его реализацию на EXISTS-подзапросах, либо посредством запросов с GROUP BY + HAVING ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2015, 12:20:22 |
|
||
|
Помогите с хитрым запросом
|
|||
|---|---|---|---|
|
#18+
пора кому-то в фак дописать. а то стабильно каждую одну две недели будет вопрос на тему - фильтр по всем категориям. аля заготовка для фака возможные варианты по памяти постов на этом форуме. 1 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 2 Код: sql 1. 2. 3. 4. 5. 6. 3 --влом придумывать - через переменные 4 лень писать - через N join-ов, аля первый вариант, только через джоины. 5 пойти от обратного взять товары не из чорного списка - чорный список товаров, это товары которые не имеют хотябы одной категории. - и писать долго, и для базы подобное выполнять не быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2015, 13:28:14 |
|
||
|
Помогите с хитрым запросом
|
|||
|---|---|---|---|
|
#18+
Никто не знает чтоли ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2015, 15:27:44 |
|
||
|
Помогите с хитрым запросом
|
|||
|---|---|---|---|
|
#18+
ПроходилМимо, ну примерно так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 06:29:31 |
|
||
|
Помогите с хитрым запросом
|
|||
|---|---|---|---|
|
#18+
точнее так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 16:27:30 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38884196&tid=1833552]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
45ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 314ms |

| 0 / 0 |
