SELECT u1.Name AS first, u2.Name AS secondFROM Tickets t INNER JOIN UsersTbl u1 ON t.Reported_by = u1.Id INNER JOIN UsersTbl u2 ON t.Assign_to = u2.Id
SELECT t.*, u1.*, u2.*FROM Tickets t LEFT JOIN UsersTbl u1 ON t.Reported_by = u1.Id LEFT JOIN UsersTbl u2 ON t.Assign_to = u2.Id
SELECT UsersTbl.Name AS first, UsersTbl.Name AS secondFROM TicketsINNER JOIN UsersTbl ON Tickets.Reported_by = UsersTbl.Id -- Fine, upto this pointINNER JOIN UsersTbl AS UsersTbl_1 ON Tickets.Assign_to = UsersTbl.Id -- Here, you are accessing the table with alias name "UsersTbl_1"/*Hence, the above query is equivalent to the below query*/SELECT UsersTbl.Name AS first, UsersTbl.Name AS secondFROM TicketsINNER JOIN UsersTbl ON Tickets.Reported_by = UsersTbl.Id AND Tickets.Assign_to = UsersTbl.Id -- You can move the condition up like thisINNER JOIN UsersTbl AS UsersTbl_1 ON 1 = 1/*The above query is again equivalent to below query*/SELECT UsersTbl.Name AS first, UsersTbl.Name AS secondFROM TicketsINNER JOIN UsersTbl ON Tickets.Reported_by = UsersTbl.Id AND Tickets.Assign_to = UsersTbl.IdCROSS JOIN UsersTbl AS UsersTbl_1