尝试内连接多个表但总是返回0行

leo*_*ora 1 sql database-design

我试图弄清楚为什么这个查询返回0行,因为所有3个表中都有数据.

这是我的表格:

表1:应用程序列:ID,名称

表2:资源
列:ID,名称

表3:ApplicationResourceBridge
列:ID,app_id,resource_id

这是查询

SELECT       Resources.name
,            ApplicationResourceBridge.resource_id AS Expr3
FROM         Resources 
INNER JOIN   Applications 
ON           Resources.id = Applications.id 
INNER JOIN   ApplicationsResources 
ON           Resources.id = ApplicationResourceBridge.resource_id
Run Code Online (Sandbox Code Playgroud)

And*_*mar 6

您当前的查询将尝试匹配Resources.idApplications.id,但他们不同的东西.它应与Applications.idApplicationResources.app_id.

将桥接表作为中间连接通常更清晰,因此它看起来像一个链接.例如:

SELECT       Resources.name
,            ar.resource_id
FROM         Resources r
INNER JOIN   ApplicationsResources ar
ON           r.id = ar.resource_id
INNER JOIN   Applications a
ON           a.id = ar.app_id
Run Code Online (Sandbox Code Playgroud)