Создание запроса, который запрашивает данные в таблице более одного раза - PullRequest
0 голосов
/ 08 декабря 2011

У меня есть таблица данных личных данных клиентов:

ID
name
addressID
referralID

Часть данных представляет собой «referralID».Это будет заполнено для некоторых записей, если они были переданы другими клиентами в базе данных.Следовательно, referralID будет соответствовать идентификатору в базе данных.

Я пытаюсь создать запрос, который будет возвращать сведения о рефералах и имена людей, на которых они ссылались, например:

Referrals ID (Where referallID = ID), 
Referrals name (name), 
ID of client referred (ID), 
Name of Client referred (name)

У меня возникли трудностиподойти к этому и какой метод предпринять, так как запрос должен каким-то образом ссылаться на себя?Как я могу извлечь детали дважды из таблицы?

Надеюсь, что это достаточно легко для кого-то понять.Любая помощь или руководство будет принята с благодарностью, ура

Ответы [ 2 ]

4 голосов
/ 08 декабря 2011

Замените MyTable именем вашей таблицы и присоединитесь к той же таблице, используя псевдонимы:

SELECT 
     m.ID, 
     m.Name, 
     m.AddressID, 
     m2.name as ReferralName 
FROM 
     MyTable m
INNER JOIN 
     MyTable m2 
ON m2.ReferralID = m.ID
0 голосов
/ 08 декабря 2011

Предполагая, что вам нужен список всех клиентов и людей, которых они указали, и этот клиент - это имя таблицы и этот ID = ReferallID ...

Select * from client c1
LEFT join client c2 on C1.ID = C2.ReferallID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...