Как вернуть все идентификаторы категории, связанные с результатом запроса?Удалить пустые категории по результатам?
items_cats: (many to many)
product_id | category_id
====================
1 | 1
1 | 2
1 | 4
1 | 7
2 | 1
2 | 3
2 | 4
2 | 7
3 | 1
3 | 3
3 | 4
3 | 8
В запросе ниже я получаю все идентификатор продукта, которые содержат CATEGORY_ID 3 и CATEGORY_ID 7.
Но я также хотел бы знать, какие category_id (в опции) еще producs_id базовому на выбор:
Например, я люблю этот запрос, чтобы вернуться (на основании примера кода):
-product_id = 2
-category_id-х: 7, 3, 4, 1
При использовании этого я, вероятно, хотел бы Лиму запроса для максимального количества элементов на странице.
код, который я, ве получил до сих пор:
SELECT
DISTINCT t1.product_id, t1.category_id
FROM
items_cats t1
INNER JOIN
items_cats t1b
ON t1.product_id =t1b.product_id
WHERE
t1.category_id=3 AND
t1b.category_id=7
Проблема в свободном запросе для кошки идентификаторами:
SELECT
e1.category_id
FROM
drinks_ingredients e1
WHERE
e1.category_id=2
Конечно Он возвращает 2, но мне нравится это вернуть 1, 2, 4, 7.
Другой способ работы, но как я могу сделать это эффективным с большим количеством продуктов и категорий? Можно ли совместить эти запросы.
SELECT DISTINCT
t1.category_id
FROM items_cats t1
WHERE t1.product_id = 2
Что такое 'iid' колонка? –
была ошибкой, изменила ее на то, что должно быть – Hank12312