I only want to return the criteria of my where clause which is done, but their is also an additional row that shows null for all possible values?
This is the dataset I am returned, and the dataset I want returned
--What is returned pName Permission Granted Permission Denied Salesmanfirstname Salesmanlastname Janitor Closet 1 0 NULL NULL Janitor Closet 1 0 Miles Davis Exterior Storage Room 1 0 NULL NULL Exterior Storage Room 0 0 Miles Davis Alarm Control Room 0 0 NULL NULL Alarm Control Room 1 0 Miles Davis Sprinkler Backflow Room 1 0 NULL NULL Sprinkler Backflow Room 0 0 Miles Davis Exterior Left Emergency Door 0 0 NULL NULL Main Entrance 1 0 NULL NULL --What I want returned pName Permission Granted Permission Denied Salesmanfirstname Salesmanlastname Janitor Closet 1 0 Miles Davis Exterior Storage Room 0 0 Miles Davis Alarm Control Room 1 0 Miles Davis Sprinkler Backflow Room 0 0 Miles Davis
And this is my DDL
Create Table #1 ( [pID] int, [pName] varchar(100) ) Create Table #2 ( [upID] int, [pID] int, [uID] int, [accessgranted] int ) Create Table #3 ( [uID] int, [Salesmanfirstname] varchar(100), [Salesmanlastname] varchar(100) ) go INSERT INTO #1 VALUES (1, 'Janitor Closet'), (2, 'Exterior Storage Room'), (3, 'Alarm Control Room'), (4, 'Sprinkler Backflow Room'), (5, 'Exterior Left Emergency Door'), (6, 'Main Entrance') INSERT INTO #2 VALUES (1, 1, 1, 1), (2, 2, 1, 1), (3, 3, 1, 0), (4, 4, 1, 1), (5, 5, 1, 0), (6, 6, 1, 1), (7,1,2,1), (8,2,2,0), (9,3,2,1), (10,4,2,0) INSERT INTO #3 VALUES (1, 'Big', 'Train'), (2, 'Miles', 'Davis') SELECT #1.pName ,case when #2.accessgranted = 1 then 1 else 0 end As [Access Granted] ,case when #2.accessgranted = 0 then 0 else 0 end As [Access Denied] ,#3.Salesmanfirstname ,#3.Salesmanlastname FROM #1 LEFT OUTER JOIN #2 ON #2.pID = #1.pID LEFT OUTER JOIN #3 ON #3.uID = #2.uID and #3.Salesmanlastname = 'Davis' --DROP TABLE #1 --DROP TABLE #2 --DROP TABLE #3