72 похожих чатов

Всем привет. Как реализовать поиск элементов по критериям в SQLITE? Есть

три таблицы - Item, Detail и DetailsItem. Между собой они создают связь many-to-many. Каким образом можно реализовать поиск Item по определенным Detail.

Например, есть молоток. Он состоит из нескольких частей, таких как: железо, дерево, медь. Мне нужно найти этот молоток по деталям. Например, я вбиваю параметры такие как дерево и медь по которым точно найдется нужный элемент, но если я добавлю дополнительный параметр такой как силикон, то данный элемент отбрасывается.

Также по этим параметрам могут находиться другие элементы, которые содержат в себе железо, дерево и медь, но если один из параметров не совпадает, то элемент должен не отображаться в итоговой выборке.

SELECT item.idItem, detail.idDetail, detail.title FROM item
JOIN details_item ON item.idItem = details_item.idItem
JOIN detail ON detail.idDetail = details_item .idDetail
WHERE detail.title in ("Железо","Дерево","Медь")

Данный запрос находит элементы в которых есть эти детали, но так же отображаются другие элементы, которые имеют совпадение материалов только 1 из 3. Так же заранее неизвестно сколько будет параметров для поиска, так как в in (...) будет передаваться массив.

Я голову сломал как это реализовать в SQLITE и возможно это реализовать одним запросом?

5 ответов

10 просмотров

Путем составления запроса и его выполнения

По массивы забудь сразу

Я детально смогу посмотреть только вечером поздно

Ddl таблиц хорошо бы

Там схема зала такая Select ... From item I Where exists ( select 1 from item detail join detail on .... Where Условие корреляции And detail material = 'wood' ) And exists ( select 1 from item detail join detail on .... Where Условие корреляции And detail color = 'Green' ) And .... Что-то типа этого

Похожие вопросы

Обсуждают сегодня

я часов 15 назад начал пытаться написать хоть что-то напоминающее ос и у меня есть проблема, которую я пытаюсь решить последние часов 5: есть крч 2 исходника с минимальным код...
Al1to
17
Всем привет ребят! Мб кто-то сталкивался? adminСomponents .get("searchСomponents", use: searchComponents) .openAPI( summary: ...
Admin Adminov
2
Приветы. Если бот доступен только пользователям из России и Беларуси, старсы для него неизбежны? Как Apple планируется собирать платежи с покупок в сторе на территориях, где у...
Prokhor Chulkov
8
Вопрос в другом, кто нибудь вообще понял как жаловаться на незаконные платежи?
■_|ilya|_■
8
кто-нибудь отправлял ли групповые медиа с entites? что бы были гипер ссылки const result = await this.client.invoke( new Api.messages.SendMultiMedia({ silen...
Kokni
2
Qq, возможно сталкивался кто Повесил на бота обработку апдейтов типа chat_member, при этом апдейты доходят только когда с ботом что-то делают, на саб/ансаб юзеров ему насрать...
𐌍𐌄 ᕓ𐌄𐌓𐌌Ꝋ𐌓𐌄
13
вопрос странный, но нужный: насколько сильно увеличится вероятность сбоя, при чтении в PIO режиме из ide контроллера секторов оптического диска, при увеличении числа читаемых ...
Mixail Frolov
4
всем привет. может кто-нибудь сталкивался с такой проблемой? отсылали базу в odoo upgrade service с 12 на 17 версию, в базе которую они прислали в ответ заметили вот такие стр...
Pavel
6
К слову кому-то интересен форк октября без twig? А то где-то на старых хардах валялся с вырезанным twig и возвращенным blade)) Есть ли смысл Харды искать, и на них копатся?)
Vladimir 
10
Всем привет еще раз. Медленно но верно вроде получается, но новые грабли Как решить проблему, что не может выбрать лидера? Менял на 1 инстанс, на разные интейрфейсы выставлял...
Sergey Ivanov
5
Карта сайта