使用 mysql 查询从关系表中搜索多个类别和行业


Search multiple categories and Industries from relational table using mysql query

我有三个表,我需要根据我的搜索关键字查找行业,该关键字存在于类别表中。

供参考- 我附上了表格描述的屏幕截图

I. 类别表 ID 存在于categories_to_industries
二、categories_to_industries ID存在于各行各业
ii. 每个类别有 n 个行业。

我想有一个 mysql 查询来按类别名称获取行业名称。

希望这些信息足够了。如果还有其他人想知道结构,请告诉我。

如果有人对此有很好的解决方案,请帮助我。

只需要一个简单的INNER JOIN

SELECT  a.*
FROM    Industries a
        INNER JOIN Category_to_industries b
            ON a.ID = b.industry_id
        INNER JOIN Categories c
            ON b.category_ID = c.id
WHERE   c.category_name = 'Fired'

你在sql查询中看到的字母(abc)称为别名。

要进一步了解有关联接的更多信息,请访问以下链接:

  • SQL 联接的可视化表示形式

试试这个

    SELECT industry_id FROM category_to_industries WHERE category_id = 
       (
       SELECT id FROM categories WHERE category_name = "Fired"
       )

这非常简单:

SELECT Industries.* FROM Industries
JOIN category_to_industries ON (Industries.id = category_to_industries.industry_id)
JOIN Categories ON (Categories.id = category_to_industries.category_id)
WHERE Categories.category_name='Fired';

试试这个查询 -

select industry_name from Industries where id in ( select industry_id from category_to_industries where category_id in( (select id from Categories where category_name = "Fired") ));