SELECT TOP 1 Authorized,Realm,FilterMask,ID,isnull(FilterNTUser,'') as FilterNTUser,isnull(FilterNTPassword,'') as FilterNTPassword FROM (SELECT TOP 1 1 as Authorized,Realm,FilterMask,ID,FilterNTUser,FilterNTPassword FROM (SELECT FilterID, FilterMask,Realm,Filter.ID,FilterNTPassword,FilterNTUser FROM FilterUser INNER JOIN (SELECT [ID], 0 as IsGroup FROM Users WHERE username='@UserName' AND [password]='@Password' UNION SELECT GroupID, 1 as IsGroup FROM UserGroups WHERE UserID IN (SELECT [ID] FROM Users WHERE username='@UserName' AND [password]='@Password')) as IDs ON FilterUser.UserID=IDs.[ID] AND FilterUser.IsGroup=IDs.IsGroup INNER JOIN (SELECT TOP 1 Filters.[ID], FilterMask, RequireAuth,Realm,NTPassword as FilterNTPassword,NTUserName as FilterNTUser FROM Filters WHERE '@URL' LIKE FilterMask ESCAPE '\' AND '@WebInstance' LIKE WebInstance ESCAPE '\' ORDER BY Priority) as Filter ON FilterUser.FilterID=Filter.[ID]) as AuthTable UNION SELECT TOP 1 Authorized,Realm,FilterMask,ID,FilterNTUser,FilterNTPassword FROM (SELECT TOP 1 ((RequireAuth + 1) % 2) as Authorized,Realm,FilterMask,ID,FilterNTUser,FilterNTPassword FROM (select ID,FilterMask,RequireAuth,Realm,WebInstance,Priority,NTUserName as FilterNTUser,NTPassword as FilterNTPassword FROM Filters UNION SELECT * FROM (SELECT 0 as ID,'%' as FilterMask,0 as RequireAuth,'none' as Realm,'%' as WebInstance,100 as Priority,'' as FilterNTUser,''as FilterNTPass) m) q WHERE '@URL' LIKE FilterMask ESCAPE '\' AND '@WebInstance' LIKE WebInstance ESCAPE '\' ORDER BY Priority) NoAuthNeeded) as Result ORDER BY Authorized DESC