Query Inner Join с двумя идентификаторами в одной таблице - PullRequest
0 голосов
/ 31 августа 2018

Я сохраняю 2 идентификатора в одной и той же таблице, а затем делаю внутреннее, чтобы получить имя, но я могу получить только одно имя. Как бы я получил два имени

table1

 ------------------------
|id|name       |xxx     | 
|--|-----------|--------|  
|1 |name1      |xxx1    | 
|2 |name2      |xxx2    | 
|3 |name3      |xxx3    |
|  |           |        | 
|--|-----------|--------|  

table2

 --------------------------------------
|id|table1User |CLIENT  |table1Worker | 
|--|-----------|--------|-------------|
|5 |1          |xxx1    |2            |  
|6 |1          |xxx2    |2            |
|7 |3          |xxx3    |3            |
|--|-----------|--------|-------------|  

вот мой запрос

     SELECT a.id, p.name, p.CLIENT, p.table1Worker
        FROM table2 as a INNER JOIN table1 as p ON p.id = a.table1User

с этим запросом я получаю этот результат, но я хочу в table1Worker показать имя

 --------------------------------------
|id|table1User |CLIENT  |table1Worker | 
|--|-----------|--------|-------------|
|5 |name1      |xxx1    |2            |  
|6 |name1      |xxx2    |2            |
|7 |name3      |xxx3    |3            |
|--|-----------|--------|-------------|  

Как мне это сделать?

1 Ответ

0 голосов
/ 31 августа 2018

Присоединяйтесь к столу дважды. Это одна из вещей, для которых псевдонимы; псевдоним позволит вам различить два экземпляра одной и той же таблицы:

SELECT t2.id, t1user.name "table1User", t2.CLIENT, t1worder.name "table1Worker"
FROM table2 t2 
INNER JOIN table1 t1user ON t1user.id = t2.table1User
INNER JOIN table1 t1worker ON t1worker.id = t2.table1Worker
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...