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

start [/forum/topic.php?fid=47&mobile=1&tid=1836218]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 344ms |

| 0 / 0 |
