我必须选择用户在给定组织中无法访问的项目列表。
我试过这个查询

SELECT {Project}.[Number],{Project}.[Name]
FROM {Project}
INNER JOIN {ProjectParticipant} ON {Project}.[Id]={ProjectParticipant}.[ProjectId]
WHERE {Project}.[Tenant_Id]=@TenantId AND {ProjectParticipant}.[UserId] <> @UserId
GROUP BY {Project}.[Number],
{Project}.[Name]
ORDER BY {Project}.[Number]但在这里,它列出了给定组织中的所有项目。我错过了一些基本的东西。也试过用左外接,但没有用。帮帮我
发布于 2015-06-25 14:25:36
看起来,您希望在Project表中获取给定用户It在ProjectParticipant表中没有对应行的所有行。
这应该能起作用:
SELECT {Project}.[Number],{Project}.[Name]
FROM {Project}
WHERE {Project}.[Tenant_Id]=@TenantId
AND NOT EXISTS (
SELECT * FROM {ProjectParticipant}
WHERE {Project}.[Id]={ProjectParticipant}.[ProjectId]
AND {ProjectParticipant}.[UserId] = @UserId
)
ORDER BY {Project}.[Number]https://stackoverflow.com/questions/31052944
复制相似问题