首页 > 解决方案 > 连接三个表的 SQL 查询

问题描述

我在很久以前就做过这个,但现在我就是想不通。

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

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":

我已经尝试过,但我总是得到“表达式中的类型不匹配”或类似的

我确信它是超级简单的东西,但对于我的生活,我无法弄清楚。

谢谢你的帮助

标签: mysqlsql

解决方案


从您的第一个内部连接中删除括号?

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

推荐阅读