Advertisement
Guest User

Untitled

a guest
Jul 31st, 2014
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. DECLARE @Matches AS int
  2. DECLARE @Result AS int
  3.  
  4. SET @Matches =
  5. (
  6. Select COUNT(*)
  7. FROM Houses
  8. INNER JOIN Houses_Access ON Houses.ID = Houses_Access.DoorKey
  9. FULL OUTER Join UserAccess ON Houses_Access.GroupKey = UserAccess.GroupKey
  10. WHERE Houses.ID IS NOT NULL AND Houses.ID = @DoorKey AND UserAccess.UserKey = @UserKey
  11. )
  12.  
  13. IF(@Matches < 1)
  14. SET @Result = 0
  15. ELSE IF(@Matches > 0)
  16. BEGIN
  17. SET @Matches =
  18. (
  19. Select COUNT(*)
  20. FROM Houses
  21. INNER JOIN Houses_Access ON Houses.ID = Houses_Access.DoorKey
  22. FULL OUTER Join UserAccess ON Houses_Access.GroupKey = UserAccess.GroupKey
  23. WHERE Houses.ID IS NOT NULL AND Houses.ID = @DoorKey AND UserAccess.UserKey = @UserKey
  24. AND Houses_Access.GroupKey != Houses.OwnerGroupKey
  25. )
  26. IF(@Matches < 1)
  27. SET @Result = 0
  28. ELSE
  29. SET @Result = 1
  30. END
  31.  
  32. RETURN(@Result)
  33.  
  34. END
  35.  
  36. Create View vw_HousesAccess
  37. as
  38. Select * --TODO specify columns where
  39. FROM Houses
  40. INNER JOIN Houses_Access ON Houses.ID = Houses_Access.DoorKey
  41. FULL OUTER Join UserAccess ON Houses_Access.GroupKey = UserAccess.GroupKey
  42.  
  43. ---then in main query you can use like this.
  44. IF Exists(Select 1 from vw_HousesAccess where WHERE ID IS NOT NULL AND ID = @DoorKey AND UserKey = @UserKey)
  45. ---your logic
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement