I am unsure of the exact syntax to use so I am reaching out for assistance on this so I don't butcher something! Proper procedure was not explained to a new user so multiple users were set-up incorrectly. Now I need to update all incorrect users. For every value in #Pages.pName EVERY user MUST have a 1 or 0 value #UserPageAccess.abletoview What has just come to light is a value has only been entered when the user has access --- so only 1's have been entered. I need to bulk update EVERY USER to have a 0 value!
This is DDL structure and set-up for my tables. As well as what I am wanting the database to display.
--Expected Output pName User Name abletoview www.yahoo.com Mike Jones 1 www.espn.com Mike Jones 1 www.msnbc.com Mike Jones 0 www.hotmail.com Mike Jones 0 www.gmail.com Mike Jones 0 www.yahoo.com Bob Segar 1 www.espn.com Bob Segar 0 www.msnbc.com Bob Segar 0 www.hotmail.com Bob Segar 0 www.gmail.com Bob Segar 0 --DDL & SELECT Query Create Table #Pages ( pID int, pName varchar(100) ) Create Table #UserPageAccess ( upID int, pID int, uID int, abletoview int ) Create Table #Users ( uID int, fname varchar(100), lname varchar(100) ) Insert Into #Pages Values (1, 'www.yahoo.com'), (2, 'www.espn.com'), (3, 'www.msnbc.com'), (4, 'www.hotmail.com'), (5, 'www.gmail.com') INSERT Into #Users Values (1, 'Mike', 'Jones'), (2, 'Bob', 'Segar') Insert Into #UserPageAccess Values (1, 1, 1, 1), (2, 2, 1, 1), (3, 1, 2, 1) Select #Pages.pName, case when #Users.uID = 1 then 'Mike Jones' when #Users.uID = 2 then 'Bob Segar' end As [User Name], case when abletoview = 1 then 1 else 0 end As [Can View], case when abletoview = 0 then 1 else 0 end As [Unable To View] FROM #Pages Inner Join #UserPageAccess ON #Pages.pID = #UserPageAccess.pID INNER JOIN #Users ON #Users.uID = #UserPageAccess.uID --Drop Table #Pages --Drop Table #UserPageAccess --DROP TABLE #Users