USE [EnVisage] GO /****** Object: View [dbo].[VW_ProjectAccessByUser] Script Date: 10/26/2015 11:41:16 AM ******/ DROP VIEW [dbo].[VW_ProjectAccessByUser] GO /****** Object: View [dbo].[VW_ProjectAccessByUser] Script Date: 10/26/2015 11:41:16 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE VIEW [dbo].[VW_ProjectAccessByUser] AS select A.*, B.UserId, ISNULL(C.Name, '') AS StatusName, ISNULL(D.Name, '') AS CompanyName, ISNULL(E.Name, '') AS ClientName, ISNULL(F.Name, '') AS TypeName, G.Id AS ActiveScenarioId, ISNULL(G.Name, '') AS ActiveScenarioName, ISNULL( ( STUFF((SELECT ',' + t.Name AS [text()] FROM dbo.Team2Project t2p JOIN dbo.Team t ON t2p.TeamId = t.Id WHERE t2p.ProjectId = A.Id ORDER BY t.Name ASC FOR XML PATH('')), 1, 1, '') ), '') AS Teams, B.[Read], B.Write from Project A INNER JOIN VW_ProjectAccess B ON (B.ProjectId = A.Id) LEFT JOIN [Status] C ON (C.Id = A.StatusId) LEFT JOIN Company D ON (D.Id = A.CompanyId) LEFT JOIN Client E ON (E.Id = A.ClientId) LEFT JOIN [Type] F ON (F.Id = A.TypeId) LEFT JOIN Scenario G ON (G.ParentId = A.Id) AND (G.[Type] = 2) AND (G.[Status] = 1) -- Poftfolio scenario & active WHERE (B.[Read] = 1) OR (B.Write = 1) GO