Mysql выполнить запрос сводной таблицы - PullRequest
0 голосов
/ 14 июля 2020

Я создал sql fiddle http://sqlfiddle.com/#! 9 / 0586e8 / 1

У меня есть таблица с именами products, tags, product_tags. Я хочу получить все теги продуктов, которые имеют искомые теги

Например, если я ищу Mi tag, он должен вернуть все теги из продукта, который имеет тег Mi Tag

1 Ответ

1 голос
/ 14 июля 2020

Вы можете использовать exists, чтобы найти совпадение:

SELECT DISTINCT t.tag_name
FROM product_tags pt JOIN
     tags t
     ON pt.tag_id = t.id 
WHERE EXISTS (SELECT 1
              FROM product_tags pt2 JOIN
                   tags t2
                   ON pt2.tag_id = t2.id
              WHERE pt2.product_id = pt.product_id AND
                    t2.tag_name = 'Mi'
             );

Это говорит: «Получите мне все теги, где соответствующий продукт имеет тег" MI ".

Здесь - это SQL Fiddle.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...