![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 27.09.2016
Сообщений: 5
|
![]()
Здравствуйте. Помогите, пожалуйста, кто чем может.
Есть такая таблица product_id | filter_id ------------------------ 1 | 10 1 | 20 2 | 5 2 |10 3 | 10 3 | 20 Суть в чём. Надо выбрать уникальные product_id у которых есть filter_id И 10 И 20. В данном случае мне должно вернуть 1 и 3 1. Таких строк с одинаковым product_id может быть хоть 100 2. Сами строки (пара product_id и filter_id) уникальны Сейчас работает так: Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
индексы то есть?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]()
э... А зачем ЗДЕСЬ соединение.
Код:
Цитата:
Код:
Цитата:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 27.09.2016 в 09:15. |
||
![]() |
![]() |
![]() |
#4 | |||
Новичок
Джуниор
Регистрация: 27.09.2016
Сообщений: 5
|
![]() Цитата:
Цитата:
Цитата:
По этому то тут присутствует JOIN. |
|||
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
у вас фильтров может быть только два или более тоже?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 27.09.2016
Сообщений: 5
|
![]() |
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]() Код:
Цитата:
Код:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 27.09.2016 в 12:14. |
|
![]() |
![]() |
![]() |
#8 |
Новичок
Джуниор
Регистрация: 27.09.2016
Сообщений: 5
|
![]()
Надо выбрать уникальные product_id у которых есть filter_id И 10 И 20
Но проблема в том что это будут две (или больше) разные строки Есть у нас 2 записи в базе, к примеру. product_id | filter_id ------------------------ 1 | 10 1 | 20 Представьте что там много чего другого. нам надо получить product_id у которого filter_id=10 AND filter_id=20 Если сделать как вы говорите SELECT DISTINCT filt1.product_id FROM product_filter WHERE filter_id=10 AND filter_id=20 то мы ничего не получим. разные строки, как видите. |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
как я понял это таблица связи Many-To-Many.
нужно найти продукты что имеют нужные(Contains) примененные к ним фильтры. из более лаконичного разве что могу придумать массивы, но тут уже сильно зависит от движка. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#10 |
Новичок
Джуниор
Регистрация: 27.09.2016
Сообщений: 5
|
![]()
Да, именно такая таблица получается. Это всё дело в MySQL. Я даже не знаю какие тут массивы могут быть. Подскажите пожалуйста, а если не трудно - напишите маленький примерчик, чтоб я понимал в каком направлении искать. Буду очень благодарен.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выборка из базы | Vasiliska | БД в Delphi | 6 | 11.06.2012 21:11 |
Сумма не уникального поля. | Дмитрий mause | Помощь студентам | 4 | 25.01.2012 17:08 |
Выборка из базы MS Access | Provoking | Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) | 2 | 06.03.2011 20:39 |
выборка из базы | Alex_2007_bur | БД в Delphi | 18 | 04.09.2009 12:14 |
Выборка пустого поля | yulia | БД в Delphi | 2 | 09.05.2009 17:07 |