外部系统中的高级 SQL 查询
Advanced SQL Queries in Outsystems
我必须 select 用户在给定组织中无权访问的项目列表。
我试过这个查询
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]
但这里列出了给定组织内的所有项目。我缺少一些基本的东西。也尝试使用左外连接但没有用。帮帮我
您似乎想要获取项目 table 中给定用户 ID 的 ProjectParticipant table 中没有对应行的所有行。
这应该可以解决问题:
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]
我必须 select 用户在给定组织中无权访问的项目列表。
我试过这个查询
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]
但这里列出了给定组织内的所有项目。我缺少一些基本的东西。也尝试使用左外连接但没有用。帮帮我
您似乎想要获取项目 table 中给定用户 ID 的 ProjectParticipant table 中没有对应行的所有行。
这应该可以解决问题:
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]