Inner join of 2 tables with the same ID

inner-join, join, mysql, sql

Solution

I suggest always add aliases to tables and columns. So you will be sure which data are selected.

select
    T1.somedata,
    T1.somedata1,
    T2X.name as XName,
    T2Y.name as YName
from T1 as T1
    inner join T2 as T2X on T2X.id = T1.X
    inner join T2 as T2Y on T2Y.id = T1.Y

Problem

I have a table(`T1`) in which 2 columns(`X` and `Y`) are id's. The name's of these corresponding `id`'s are in another table (`T2`) with the column `name`. Suppose I was only using `X` then, a simple Inner join would have solved my problem in getting the name. Such as ``` Select T1.somedata,T1.somedata1,T2.name from T1 Inner Join T2 ON T1.X=T2.id ``` But,what if I want the name's to be resolved for the `T1.Y` also?, which `name` would the Inner Join resolve it to ?? ``` Select T1.somedata,T1.somedata1,T2.name from T1 Inner Join T2 ON T1.X=T2.id Inner Join T2 ON T1.Y=T2.id ``` The above query is wrong, I know. Can I get the `name`s of those corresponding to both `T1.X`and `T1.Y` with an `INNER Join`? -Beginner

Original source