|
|
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
Доброе время суток, форумчане. У меня возникла проблема: Мне нужно из бд вытянуть товары, которые соответствуют ВСЕМ выбранным категориям, я делаю так: Код: sql 1. 2. 3. 4. но при этом выводятся товары, в которых встречается хотя бы одна из перечисленных категорий... Подскажите... проект горит... Заранее спасибо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2013, 21:19:16 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
sillexo, Гуглите "реляционное деление" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2013, 21:20:26 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2013, 21:29:25 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
miksoft, having count( DISTINCT PRODUCT )=4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2013, 21:44:50 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
конечно жк, distinct category_id, не туда посмотрел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2013, 21:46:40 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
Cygapb-007, С чего это Product -то? Тогда уж category надо distinct -ом до 4-х считать... только, насколько понимаю это излишне и так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2013, 21:48:42 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
Cygapb-007miksoft, having count( DISTINCT PRODUCT )=4а откуда там дублям взяться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2013, 21:51:08 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
Ну обшибся чуток, - так уже исправился... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2013, 21:54:10 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
Arhat109, не, необходимо, если речь идет о наличии всех категорий - как раз операция реляционного деления, что и треьуется в старттопике ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2013, 21:56:02 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
Спасибо, друзья. Буду пробовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2013, 22:39:03 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
Спасибо всем ответившим, у меня все получилось, но возник другой вопрос: теперь приходит массив Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Код: sql 1. 2. 3. 4. и в этом коде нужно, чтобы между дочерними массивами (116,117,123) осуществлялось "И", а между элементами дочерних массивов "ИЛИ". По раздельности осуществить могу, но как это одновременно сделать, ума не приложу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2013, 14:29:50 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
sillexo, Попробуйте вместо COUNT(*) поиграться с функциями SUM(), BIT_OR(), BIT_AND()... там у вас достаточно нетривиальный фильтр получится... Вы точно "горящий проект" спасаете, а не "курсовую по логическим функциям" прогуляли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2013, 20:32:13 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
Спасибо, посмотрю. Точно проект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2013, 20:54:00 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
sillexoи в этом коде нужно, чтобы между дочерними массивами (116,117,123) осуществлялось "И", а между элементами дочерних массивов "ИЛИ". По раздельности осуществить могу, но как это одновременно сделать, ума не приложу... что-то типа такого можно Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2013, 21:03:35 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
miksoft Код: sql 1. 2. 3. 4. Фу... Фу... Не ожидал от тебя такого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2013, 01:32:31 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
Т многие ко многим С через ТС найти т, связаных с с1 и с2 и с3 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. дефакто то что тебе написали. у тебя с1 = с11 или с12 или с13 с2 = с21 или с22 с3 = с31 или с32 или с33 или с34 вот также через или пишешь в секцию кейс в секции веар все варианты через запятую - с11,с12,с13,с21,....,с34 каунт также остаёться 3- тоесть веар нам какбы даёт результат для случая всё через ИЛИ секция кейс ставит признак того, что даная запись попала в групу определённую наши групы через И. кефинг проверит что запись попала во все групы которые через и ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2013, 21:51:49 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
MasterZivmiksoft Код: sql 1. 2. 3. 4. Фу... Фу... Не ожидал от тебя такого.Это, как я посмотрю, нередко случается :) Можешь обосновать? С моей точки зрения, вариант если и не идеальный, то вполне имеющий право на жизнь. А с большой вероятностью и оптимальный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2013, 21:57:23 |
|
||
|
Выборка товара пренадлежащего нескольким категориям
|
|||
|---|---|---|---|
|
#18+
sillexoнужно из бд вытянуть товары, которые соответствуют ВСЕМ выбранным категориям, я делаю так: Код: sql 1. 2. 3. 4. Восстанавливаю по фотографии запросу схему базы: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Согласно этой схеме, каждая категория содержит только один продукт, что вряд ли соответствует реальности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2013, 05:00:42 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38366849&tid=1836218]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 385ms |

| 0 / 0 |
