set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[GetGroupIDPolicys](@GID int) AS SELECT Policys.PID, Policys.PLevel, Policys.PName, GroupPolicy.Pvalue FROM (SELECT 1 AS Pvalue, PID FROM GroupPolicys WHERE (GID = @GID)) AS GroupPolicy RIGHT OUTER JOIN Policys ON GroupPolicy.PID = Policys.PID union SELECT GiridsInfo.ID AS PID, 10000 AS PLevel, GiridsInfo.DisplayName AS PName, GroupPolicy.Pvalue FROM (SELECT 1 AS Pvalue, PID FROM GroupPolicys WHERE (GID = @GID)) AS GroupPolicy RIGHT OUTER JOIN (SELECT ID + 10000 AS ID, DisplayName FROM GridsInfo WHERE (CanPolicy = 1)) AS GiridsInfo ON GroupPolicy.PID = GiridsInfo.ID union SELECT GiridsInfo.ID AS PID, 20000 AS PLevel, GiridsInfo.DisplayName AS PName, GroupPolicy.Pvalue FROM (SELECT 1 AS Pvalue, PID FROM GroupPolicys WHERE (GID = @GID)) AS GroupPolicy RIGHT OUTER JOIN (SELECT ID + 20000 AS ID, LayoutName AS DisplayName FROM GridLayouts WHERE (CanPolicy = 1)) AS GiridsInfo ON GroupPolicy.PID = GiridsInfo.ID union SELECT GiridsInfo.ID AS PID, 30000 AS PLevel, GiridsInfo.DisplayName AS PName, GroupPolicy.Pvalue FROM (SELECT 1 AS Pvalue, PID FROM GroupPolicys WHERE (GID = @GID)) AS GroupPolicy RIGHT OUTER JOIN (SELECT SysCode + 30000 AS ID, WareHouseName AS DisplayName FROM WareHouseTbl) AS GiridsInfo ON GroupPolicy.PID = GiridsInfo.ID ORDER BY Plevel,Pid,pname RETURN