我有两个想要结合的问题 有4个表链接。 用户,组,政策,来源
第一次查询我得到具有相应政策ID的用户。
第一次查询:
Select users.ID as UserID,users.Username,
policy.ID as PolicyID,policy.PolicyName
from users join groups on group.ID = user.groupID_FK
join policy on users.policyID_FK = policy.ID
第二次查询:这里我需要匹配policyID_FK并应用路径。源类型应为0,可能没有该policyID_FK的数据源类型o的条目。
Select Path, policyID_FK from source
WHERE SourceType = 0 and policyID_FK = 1
这里不是给出policyID_FK = 1,而是想用上面的查询加入这个查询。
请帮忙。我知道我不太清楚,但请问你是否理解不了。
由于
答案 0 :(得分:2)
Select users.ID as UserID,users.Username, policy.ID as PolicyID,policy.PolicyName, source.Path
from users join groups on group.ID = user.groupID_FK
join policy on group.policyID_FK = policy.ID
left join source
on group.policyID_FK = source.policyID_FK
and SourceType = 0
当您知道右表可能没有匹配的记录时,请使用左连接。将您在连接旁边的任何过滤器附加到左连接过滤器,因为如果您将它放在要删除要检索的行的位置。
答案 1 :(得分:1)
这是你想要的吗?
Select users.ID as UserID,
users.Username,
policy.ID as PolicyID,
policy.PolicyName,
source.Path
FROM users INNER JOIN groups
ON group.ID = user.groupID_FK
INNER JOIN policy
ON users.policyID_FK = policy.ID
INNER JOIN source
ON users.policyID_FK = source.policyID_FK
-- You can add conditions here