spUserPrivs
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ClientUsersID | int | IN | |
@ClientsID | int | IN | |
@ObjectTypeFilter | int | IN |
Definition
Copy
CREATE PROCEDURE [dbo].[spUserPrivs]
(
@ClientUsersID int,
@ClientsID int,
@ObjectTypeFilter int
)
AS
begin
CREATE TABLE #Temp (ObjectTypeID int, ClientRolesID int, canView bit, canAdd bit, canEdit bit, canDelete bit, canSecure bit, ObjectGuid uniqueidentifier)--, unique(ObjectGuid, ClientRolesID))
create nonclustered index IX_Temp on #Temp(ObjectGuid)
INSERT INTO #Temp
SELECT OP.ObjectTypesID, OP.ClientRolesID, OP.CanView, OP.CanAdd, OP.CanEdit, OP.CanDelete, OP.CanSecure, OP.ObjectGuid
FROM dbo.fnUserRoles(@ClientUsersID,@ClientsID) UR
INNER JOIN [dbo].RoleObjectPrivs OP ON OP.ClientRolesID = UR.ClientRolesID
SELECT
O.Guid ObjectGuid,
1 ObjectTypeID,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canView,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canEdit,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canAdd,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canDelete,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canSecure,
O.ID RecordID,
O.ClientSitesID ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN SiteContent O on O.GUID = OP.ObjectGUID
WHERE @ObjectTypeFilter IN (0,1) AND O.DELETED = 0 AND O.GUID IS NOT NULL
GROUP BY O.GUID,O.OwnerID,O.ID,O.ClientSitesID
UNION ALL
SELECT
O.Guid ObjectGuid,
2 ObjectTypeID,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canView,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canEdit,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canAdd,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canDelete,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canSecure,
O.ID RecordID,
O.ClientSitesID ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN SitePages O on O.GUID = OP.ObjectGUID
WHERE @ObjectTypeFilter IN (0,2,3) AND O.DELETED = 0 AND O.GUID IS NOT NULL
GROUP BY O.GUID,O.OwnerID,O.ID,O.ClientSitesID
UNION ALL
SELECT
O.Guid ObjectGuid,
4 ObjectTypeID,
CASE WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canView,
CASE WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canEdit,
CASE WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canAdd,
CASE WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canDelete,
CASE WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canSecure,
O.ID RecordID,
O.ClientSitesID ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN SiteImages O on O.GUID = OP.ObjectGUID
WHERE @ObjectTypeFilter IN (0,4) AND O.GUID IS NOT NULL
GROUP BY O.GUID,O.ID,O.ClientSitesID
UNION ALL
SELECT
O.Guid ObjectGuid,
5 ObjectTypeID,
CASE WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canView,
CASE WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canEdit,
CASE WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canAdd,
CASE WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canDelete,
CASE WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canSecure,
O.ID RecordID,
0 ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN ApplicationTasks O on O.GUID = OP.ObjectGUID
WHERE @ObjectTypeFilter IN (0,5) AND O.GUID IS NOT NULL
GROUP BY O.GUID,O.ID
UNION ALL
SELECT
O.Guid ObjectGuid,
8 ObjectTypeID,
CASE WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canView,
CASE WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canEdit,
CASE WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canAdd,
CASE WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canDelete,
CASE WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canSecure,
O.ID RecordID,
O.ID ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN ClientSites O on O.GUID = OP.ObjectGUID
WHERE @ObjectTypeFilter IN (0,8) AND O.GUID IS NOT NULL
GROUP BY O.GUID,O.ID
UNION ALL
SELECT
O.Guid ObjectGuid,
12 ObjectTypeID,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canView,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canEdit,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canAdd,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canDelete,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canSecure,
O.ID RecordID,
0 ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN EmailList O on O.GUID = OP.ObjectGUID
WHERE @ObjectTypeFilter IN (0,12) AND O.DELETED = 0 AND O.GUID IS NOT NULL
GROUP BY O.GUID,O.OwnerID,O.ID
UNION ALL
SELECT
O.Guid ObjectGuid,
14 ObjectTypeID,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canView,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canEdit,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canAdd,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canDelete,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canSecure,
O.ID RecordID,
O.ClientSitesID ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN EmailTemplate O on O.GUID = OP.ObjectGUID
WHERE @ObjectTypeFilter IN (0,14) AND O.DELETED = 0 AND O.GUID IS NOT NULL
GROUP BY O.GUID,O.OwnerID,O.ID, O.ClientSitesID
UNION ALL
SELECT
O.Guid ObjectGuid,
18 ObjectTypeID,
CASE WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canView,
CASE WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canEdit,
CASE WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canAdd,
CASE WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canDelete,
CASE WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canSecure,
O.ID RecordID,
0 ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN ClientClassYears O on O.GUID = OP.ObjectGUID
WHERE @ObjectTypeFilter IN (0,18) AND O.GUID IS NOT NULL
GROUP BY O.GUID,O.ID
UNION ALL
SELECT
O.Guid ObjectGuid,
20 ObjectTypeID,
CASE WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canView,
CASE WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canEdit,
CASE WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canAdd,
CASE WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canDelete,
CASE WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canSecure,
O.ID RecordID,
sc.ClientSitesID ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN DocUploadPart O on O.GUID = OP.ObjectGUID
INNER JOIN SiteContent sc on O.SiteContentID = sc.ID
WHERE @ObjectTypeFilter IN (0,20) AND O.GUID IS NOT NULL
GROUP BY O.GUID,O.ID,sc.ClientSitesID
UNION ALL
SELECT
O.Guid ObjectGuid,
21 ObjectTypeID,
CASE WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canView,
CASE WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canEdit,
CASE WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canAdd,
CASE WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canDelete,
CASE WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canSecure,
O.ID RecordID,
sc.ClientSitesID ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN DiscussionGroups O on O.GUID = OP.ObjectGUID
INNER JOIN SiteContent sc on O.SiteContentID = sc.ID
WHERE @ObjectTypeFilter IN (0,21) AND O.GUID IS NOT NULL
GROUP BY O.GUID,O.ID,sc.ClientSitesID
UNION ALL
SELECT
O.Guid ObjectGuid,
22 ObjectTypeID,
CASE WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canView,
CASE WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canEdit,
CASE WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canAdd,
CASE WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canDelete,
CASE WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canSecure,
O.ID RecordID,
sc.ClientSitesID ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN JobBoards O on O.GUID = OP.ObjectGUID
INNER JOIN SiteContent sc on O.SiteContentID = sc.ID
WHERE @ObjectTypeFilter IN (0,22) AND O.GUID IS NOT NULL
GROUP BY O.GUID,O.ID,sc.ClientSitesID
UNION ALL
SELECT
O.Guid ObjectGuid,
25 ObjectTypeID,
CASE WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canView,
CASE WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canEdit,
CASE WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canAdd,
CASE WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canDelete,
CASE WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canSecure,
O.ID RecordID,
sc.ClientSitesID ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN GivingHistory O on O.GUID = OP.ObjectGUID
INNER JOIN SiteContent sc on O.SiteContentID = sc.ID
WHERE @ObjectTypeFilter IN (0,25) AND O.GUID IS NOT NULL
GROUP BY O.GUID,O.ID,sc.ClientSitesID
UNION ALL
SELECT
O.Guid ObjectGuid,
26 ObjectTypeID,
CASE WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canView,
CASE WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canEdit,
CASE WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canAdd,
CASE WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canDelete,
CASE WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canSecure,
O.ID RecordID,
sc.ClientSitesID ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN NewsReaders O on O.GUID = OP.ObjectGUID
INNER JOIN SiteContent sc on O.SiteContentID = sc.ID
WHERE @ObjectTypeFilter IN (0,26) AND O.GUID IS NOT NULL
GROUP BY O.GUID,O.ID,sc.ClientSitesID
UNION ALL
SELECT
O.Guid ObjectGuid,
27 ObjectTypeID,
CASE WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canView,
CASE WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canEdit,
CASE WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canAdd,
CASE WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canDelete,
CASE WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canSecure,
O.ID RecordID,
sc.ClientSitesID ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN NewsChannels O on O.GUID = OP.ObjectGUID
INNER JOIN SiteContent sc on O.SiteContentID = sc.ID
WHERE @ObjectTypeFilter IN (0,27) AND O.GUID IS NOT NULL
GROUP BY O.GUID,O.ID,sc.ClientSitesID
UNION ALL
SELECT
O.Guid ObjectGuid,
30 ObjectTypeID,
CASE WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canView,
CASE WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canEdit,
CASE WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canAdd,
CASE WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canDelete,
CASE WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canSecure,
O.ID RecordID,
O.ClientSitesID ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN SiteStylesheets O on O.GUID = OP.ObjectGUID
WHERE @ObjectTypeFilter IN (0,30) AND O.GUID IS NOT NULL
GROUP BY O.GUID,O.ID,O.ClientSitesID
UNION ALL
SELECT
O.CalendarCategoryPicksID ObjectGuid,
31 ObjectTypeID,
CASE WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canView,
CASE WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canEdit,
CASE WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canAdd,
CASE WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canDelete,
CASE WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1) ELSE CONVERT(bit,0) END canSecure,
O.EventCalendarID RecordID,
sc.ClientSitesID ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN CalendarEvtCategoryPicks O on O.CalendarCategoryPicksID = OP.ObjectGUID
INNER JOIN EventCalendar ec on O.EventCalendarID = ec.ID
INNER JOIN SiteContent sc on ec.SiteContentID = sc.ID
WHERE @ObjectTypeFilter IN (0,31) AND O.CalendarCategoryPicksID IS NOT NULL
GROUP BY O.CalendarCategoryPicksID,O.EventCalendarID,sc.ClientSitesID
UNION ALL
SELECT
O.Guid ObjectGuid,
33 ObjectTypeID,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanView,1)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canView,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanEdit,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canEdit,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanAdd,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canAdd,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanDelete,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canDelete,
CASE WHEN O.OwnerID=NULLIF(@ClientUsersID,0) THEN CONVERT(bit,1) WHEN SUM(coalesce(CanSecure,0)) > 0 THEN CONVERT(bit,1)
ELSE CONVERT(bit,0) END canSecure,
O.ID RecordID,
0 ClientSitesID
FROM #Temp OP
RIGHT OUTER JOIN EmailProject O on O.GUID = OP.ObjectGUID
WHERE @ObjectTypeFilter IN (0,33) AND O.DELETED = 0 AND O.GUID IS NOT NULL
GROUP BY O.GUID,O.OwnerID,O.ID
drop table #Temp
end