Товарищи, подскажите, пожалуйста.. что-то я на простом запросе поплыл У меня

есть табилца аттрибутов и их значений определенного продукта

Имеем такую структуру

product_id, attribute_id, value

1, 1, Красный
1, 2, 256гб
2, 1, Зеленый
2, 2, 512гб


Мне нужно выбрать отсюда все product_id которые соответствуют нескольким атрибутам, например "где attribute_id = 1 и его значение = Красный, а так же attribute_id = 2 и его значение = зеленый


Какой самый оптимальный способ сделать это? Я вижу только идею джойнить таблицу "саму к себе".. Это нормальная практика? может есть варианты лучше?

2 ответов

2 просмотра

Скажу только, что это далеко не простой запрос. Все инет-магазины с этим мучаются, где у товаров много характеристик. Когда и товаров много, обычно не используют реляционные СУБД в силу их слишком медленной работы, а используют другие вещи, типа elasticsearch или redis

Watch-This Автор вопроса
Victor
Скажу только, что это далеко не простой запрос. Вс...

Ну у меня там нет такого мега-огромного пула данных чтобы тянуть отдельную технологию под это. Просто интересно, вдруг есть вариант более подходящий, а я велосипед изобретаю

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

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

Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
это группа токсиков или тех кто помогает?
Ибрагим
9
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
всем привет. подскажите. сделал политику, он верхнеуровневая. раздал права только на TEST2 (полные). вопрос - можно ли сделать так, чтобы был доступен только TEST2, а остально...
Андрей Сергеев
5
коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
t.me/<username> и tg://user?id=<id> отваливаются по понятным причинам
Denis 🐍|👑 | darling! 🥰
7
Вы когда из вики.... копировали, не обратили внимание на года(ы)? 😉 ==== если до 1917 года в Москве было около 15 000 легковых извозчиков, то к 1920 году их осталось 5 000, а ...
Igor Mitin
4
а как он тогда отправляет текст рекламы? нельзя же одновременно запустить
Ибрагим
2
На счёт замены разрабов нейронами: Вряд-ли заказчик сможет нормально пояснить нейросети, чё он хочет. Они то человеку нормально пояснить не могут, не то что нейросети. Так что...
Alex Kom
1
Карта сайта