[英]Query one table, to get name from another table
我的数据库中有3个表,类别,子类别和文章。 “我的文章”表包含名为“类别ID”和“子类别ID”的列,它们是表“类别”和“子类别”的外键。
我的问题是,如何获取仅作为ID存储在我的文章表中的类别和子类别的名称。
我想我需要一种子查询或联接。
这是我所拥有的:
SELECT ArticleTitle
,CategoryID
,SubcategoryID
FROM Articles
WHERE SubcategoryID =
(SELECT SubcategoryName
FROM Subcategories
WHERE SubcategoryName = 'info'
)
当我在mysql中执行此代码时,没有错误,但是我收到0个结果。 所有表都包含一些数据。
改变这个:
where SubcategoryID = (select SubcategoryName from Subcategories
对此
where SubcategoryID in (select SubcategoryID from Subcategories
变化是
in
。 使用联接:
选择a.ArticleTitle AS ArticleTitle,c.CategoryName AS CategoryName,s.SubcategoryName AS SubcategoryName
从
文章a.CategoryID = c.ID上的JOIN类别c在a.SubcategoryID = s.ID上的JOIN子类别s
WHERE s.SubcategoryName ='info';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.