sql - Using a CASE result in a LEFT JOIN statement (MySQL) -
i'm trying left join table based on case result. basically, want check if i'm sender, , if i'm not want retrieve sender's name users database. if sender, want retrieve recipients name users table.
here's current database query, correctly pulls information users.username sendername display senders name:
select distinct case when $userid != senderid senderid else recipients end someid, users.username sendername, messages.body, messages.time messages left join users on users.id = messages.senderid messages.recipients = $userid or messages.senderid = $userid order messages.time i'd change equivalent of following: left join users on users.id = someid someid defined in above case.
thanks!
select distinct case when $userid != senderid senderid else recipients end someid, case when $userid != senderid senders.senderid else receivers.recipients end somename messages.body, messages.time messages left join users senders on messages.senderid = senders.id left join users receivers on messages.recipients = receivers.id messages.recipients = $userid or messages.senderid = $userid order messages.time you may need tweak sql want, gist of join twice, use case statement pull item want appropriate table.
Comments
Post a Comment