【发布时间】:2019-01-17 23:23:33
【问题描述】:
我正在尝试将 SQL 内连接查询转换为 PostgreSQL 内连接查询。在这个内部连接查询中,哪些表正在使用,所有表都不存在于一个数据库中。我们将表分成两个数据库,即应用程序数据库和安全数据库
- 用户和权限表存在于安全数据库中
- 用户角色映射和部门存在于应用程序数据库中
我尝试如下,但出现以下错误
错误
ERROR: cross-database references are not implemented: "Rockefeller_ApplicationDb.public.userrolemapping"
LINE 4: INNER JOIN "Rockefeller_ApplicationDb".public.userro..
SQL 存储函数
SELECT Department.nDeptID
FROM Users INNER JOIN Permission
ON Users.nUserID = Permission.nUserID INNER JOIN UserRoleMapping
ON Users.nUserID = UserRoleMapping.nUserID INNER JOIN Department
ON Permission.nDeptInst = Department.nInstID
AND Department.nInstID = 60
WHERE
Users.nUserID = 3;
PostgreSQL 存储函数
SELECT dep.ndept_id
FROM "Rockefeller_SecurityDb".public.users as u
INNER JOIN "Rockefeller_SecurityDb".public.permissions p ON u.nuser_id = p.nuser_id
INNER JOIN "Rockefeller_ApplicationDb".public.userrolemapping as urm ON u.nuser_id = urm.nuser_id
INNER JOIN "Rockefeller_ApplicationDb".public.department dep ON p.ndept_inst = dep.ninst_id
AND dep.ninst_id = 60
WHERE
u.nuser_id = 3;
【问题讨论】:
标签: postgresql