SQL查询加入三个表格

时间:2018-08-02 16:09:04

标签: mysql sql

我在很久以前就已经做到了,但是现在我无法弄清楚。

我有3个表,其中1个用作参考表或查找表,以避免重复数据。下面是基本结构:表名称:Column1Column2 ...

Tasks : ID , Description
Tags : ID , TagID , TaskID
TagNames : ID , Title

我想创建一个查询,该查询将返回表3的所有记录,而不是ID(数字)以获取相应的标题和描述。

这是我尝试过的查询之一

SELECT Tasks.Description, TagNames.Title 
FROM (Tags INNER JOIN Tasks ON Tags.TaskID = Tasks.ID) 
INNER JOIN TagNames ON TagNames.ID = Tags.TagID

最终结果:

"Task 1", "Home":
"Task 1", "PC":
"Task 2", "Home":

我已经尝试了很多次,但是总是出现“表达式中的类型不匹配”之类的信息

我可以肯定它非常简单,但是对于我的一生,我无法弄清楚。

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

要从第一个内部联接中删除方括号吗?

SELECT 
Tasks.Description, 
TagNames.Title 
FROM Tags 
INNER JOIN Tasks ON Tags.TaskID = Tasks.ID
INNER JOIN TagNames ON TagNames.ID = Tags.TagID

答案 1 :(得分:0)

 SELECT Tasks.Description, TagNames.Title 
 FROM Tags tags, Tasks tasks,TagNames tagNames
 WHERE tags.TaskID = tasks.ID AND
 tagNames.ID = tags.TagID