2015-06-26 4 views
-1

У меня есть таблица, в которой я пытаюсь войти в систему дважды. Вот мой пример:Двойная ВНУТРЕННЯЯ ВСТУПЛЕНИЕ в sql

Table1: 
id1, id2, otherInfo 

Table2: 
id, Name, phone, address 

В этом примере мне нужно получить имя и телефон для id1 и id2. Как это сделать? Как я могу справиться, если id1 = 0? Вся ваша помощь очень ценится. Спасибо!

+0

Используйте псевдоним таблицы для второго внутреннего соединения. И что вы подразумеваете под id1 = 0? 0 - это просто число в SQL. (Возможно, вы имеете в виду NULL) –

ответ

3

Вы можете попробовать с inner join:

select t2.name 
    , t2.phone 
    , t3.name 
    , t3.phone 
from table1 t1 
join table2 t2 on t1.id1 = t2.id 
join table2 t3 on t1.id2 = t3.id 

В случае id1 или id2 может быть null, используйте left join вместо этого.

0

Ваш вопрос немного расплывчатый, но я думаю, что это то, что вы ищете.

select t1.otherInfo 
    , t2.Name 
    , t2.Phone 
from Table1 t1 
join Table2 t2 on t2.id = t1.id1 OR t2.id = t1.id2 
Смежные вопросы