Reputation: 115
I want to get two user names from users table by matching them with usrID and res_usrID fields from my cases table to view their names from users table with usrGivenName field. I want to view them on same line. How can I do that ?
SELECT
caseID
,c.date_created
,c.date_approval_request
,c.date_closed
,u.usrGivenName
,c.muh_usrID
FROM cases AS c
JOIN users AS u ON c.usrID=u.usrID
Upvotes: 2
Views: 163
Reputation: 1985
SELECT
caseID
,c.date_created
,c.date_approval_request
,c.date_closed
,coalesce(u.usrGivenName, ru.usrGivenName, 'Not Available')
,c.muh_usrID
FROM cases AS c
left JOIN users AS u ON c.usrID = u.usrID
left JOIN users AS ru ON c.res_usrID = ru.usrID
Did not test, but you will get the idea.
Upvotes: 1
Reputation: 107652
Simply use a self join (i.e., additional join to same table):
SELECT
c.caseID
, c.date_created
, c.date_approval_request
, c.date_closed
, u1.usrGivenName as user_name
, c.muh_usrID
, u2.usrGivenName as res_user_name
FROM cases AS c
JOIN users AS u1 ON c.usrID = u.usrID
JOIN users AS u2 ON c.res_usrID = u.usrID
Upvotes: 2