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)
您当前的查询将尝试匹配Resources.id用Applications.id,但他们不同的东西.它应与Applications.id用ApplicationResources.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)