hello I am new to php I am having 2 tables I want to select 2 columns which matches accesstoken and user id column from 2 tables for eg...I had joined (users table and sessions table ) (admin table and adminsessions) now I want to check data either one of these 2 combinations eg....if (users.id=sessions.userid) or (admin.id =adminseesions.userid) I am passing accesstoken in url and I want to match userid and accesstoken is it possible to archive this task with union all because these 2 pairs are independent and I am expecting output as follow if my header has userid which is in adminsessions but not in sessions tabel then I want to display the data which is in adminsessions
or if userid from header which matches data in sessions then I want to display following details

here I want to fetch any single row from above tables based on userid
following are the 2 tables which I want to select one of the table where accesstoken column and userid matches
following are my user and admin table where I want to match one of the id column in two tables

CodePudding user response:
Yes, that's possible using UNION.
SELECT * FROM (
SELECT userid, accesstoken, refreshtoken
FROM adminsession
UNION ALL
SELECT userid, accesstoken, refreshtoken
FROM sessions) all_sessions
WHERE userid = :somegivenuserid;
This query will return all session information by :somegivenuserid, regardless of whether this information was found in table adminsession or sessions. In the same way you can get the user data, just that you use tables users and admin.
More information can be found in section UNION Clause of MySQL's documentation.

