SQL-соединение, само 3х? - PullRequest
       2

SQL-соединение, само 3х?

0 голосов
/ 10 октября 2011

В моей базе данных есть таблица с именем символов. Он отслеживает идентификатор персонажа, имя, замужние и отцы. «состоять в браке» - это идентификатор персонажа, на которого он женился, а «папа» - это идентификатор отца этого персонажа.

Я бы хотел сделать оператор соединения в SQL, который будет извлекать все три имени. Так что мой стол может выглядеть так:

CharID CharName marriedto fatherID
1      Jeremy   2         3
2      Sarah    1         4
3      Charles  5         6

Я хочу выполнить запрос, чтобы вернуть что-то вроде этих строк

Jeremy, Sarah, Charles

Я могу получить одно соединение само по себе, если я хочу, чтобы оно дало мне только два имени, но три ускользает от меня.

Это работает на двоих ..

"SELECT C1.name AS spouse1, C2.name AS spouse2 
        FROM characters AS C1 
            JOIN characters AS C2 
                ON C1.marriedto= C2.characters_ID";

И я пробовал это в течение трех, но это не работает.

"SELECT C1.name AS spouse1, C2.name AS spouse2 C3.name AS father
        FROM characters AS C1 
            JOIN characters AS C2 
                ON C1.marriedto= C2.characters_ID
            LEFT JOIN characters AS C3
                ON C1.fathersID = C3.characters_ID"

Как я могу сделать это тройное соединение только 1 таблицы?

1 Ответ

0 голосов
/ 10 октября 2011

Ваш запрос выглядит нормально .. Я вижу только запятую между spouse2 и C3.name.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...