вопрос sql в самостоятельных соединениях - PullRequest
0 голосов
/ 16 марта 2012

у меня есть таблица с именем customer с такими столбцами

 CustomerID  primaryCustID   Phonenumber  Mobilenumber
 1              1               11111       983433453
 2              2               22222       564647844
 3              3               33333       983344354
 4              4               44444       983434232
 5              2               55555       983436790
 6              4               66666       983431111
 7              4               77777       983434444
 8              8               88888       983437777
 9              3               99999       983439999

Теперь мне нужно получить вывод, как это

CustomerID  primaryCustID   Phonenumber1  Mobilenumber1       Phonenumber2      Mobilenumber2
 5              2               55555       983436790           22222           564647844
 6              4               66666       983431111           44444           983434232
 7              4               77777       983434444           44444           983434232
 9              3               99999       983439999           33333           983344354

.

select e.CustomerID, m.primaryCustID ,e.Phonenumber1 "Phonenumber1", 
e.Mobilenumber "Mobilenumber1", m.Phonenumber1 "Phonenumber2",
m.Mobilenumber "Mobilenumber2" from Customer e,
Customer m where e.CustomerID<>m.primaryCustID

Я пытался так, но не получил ожидаемый результат

любая идея, как решить это, любая помощь была бы великолепна.

Спасибо

Prince

1 Ответ

3 голосов
/ 16 марта 2012

Вы забыли добавить условие join, которое связывает primaryCustID с CustomerID.

select C1.CustomerID,
       C1.primaryCustID,
       C1.Phonenumber as Phonenumber1,
       C1.Mobilenumber as Mobilenumber1,
       C2.Phonenumber as Phonenumber2,
       C2.Mobilenumber as Mobilenumber2
from Customer as C1
  inner join Customer as C2
    on C1.primaryCustID = C2.CustomerID
where C1.CustomerID <> C1.primaryCustID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...