I have posted before and I am reading the SQL in 21 days book .. im trying but I just cant figure out this one thing I need here. I have 2 tables that I need to join together > Provider & Users. Going to try and break it down to simple form in order to get this solved. This query is really working me as I am relying on this info to run the whole APP I am desiging. So until I fix this .. yeah I am just SOL. Please help :'(

About the Users table its there solely to hold login information for 6 other tables on the site ( Provider, Consumer, etc .. ) Each one of these tables points to the other tables with a combo of 2 fields: Users.UserTable, Users.UserTableID. So to display a Username on a details page where we are looking at Provider 18, I lookup the username like this:

Select * FROM Users WHERE Table = 'Provider' AND TableID = '18'

Now I get this far. The difference between the query I have below and the one I need:
This one will show me ALL the Providers that DO have a UserName associated. The trick is the MOST providers WONT have a login, its optional in this system for that to be setup. I have 1000 records and this query bring back 20 .. because only 20 have setup a login name. That is correct of course if that was the info I needed to show (it isn't)

Select Provider.ProviderID, Users.UserID, Users.UserName FROM Provider,Users
WHERE Users.UserTable = 'Provider' AND Provider.ProviderID = Users.UserTableID

Example result from this query (shows 20 of 1000 records )

ProviderID, UserName

3 ProviderUserName1
5 ProviderUserName2

What I need to show ( essentially SELECT * - 1000 records )

ProviderID, UserName

1 NULL
2 NULL
3 ProviderUserName1
4 NULL
5 ProviderUserName2