我有三个表,我需要根据我的搜索关键字查找行业,该关键字存在于类别表中。
供参考- 我附上了表格描述的屏幕截图
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查询中看到的字母(a
、b
、c
)称为别名。
要进一步了解有关联接的更多信息,请访问以下链接:
- 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")
));