Доступ к отношениям в sqlite - PullRequest
0 голосов
/ 25 февраля 2020

Учитывая следующие схемы таблиц и предполагая, что у всех есть только 1 друг, как я могу получить доступ к имени друзей в SQL? Следующий запрос возвращает идентификатор, имя и зарплату, но я также хочу вернуть каждого друга. Я очень плохо знаком с sql, поэтому эти отношения в настоящий момент крайне запутаны, любая помощь будет принята с благодарностью. Спасибо.

select s.id, s.name, i.salary from students as s join incomes as i on s.id = i.id;

table schema

1 Ответ

1 голос
/ 25 февраля 2020

Предполагая, что каждый друг также является студентом, вам нужно присоединиться students -> friends -> students:

SELECT
    s1.id,
    s1.name,
    i1.salary,
    s2.id,
    s2.name,
    i2.salary
FROM students s1
INNER JOIN friends f
    ON s1.id = f.id
INNER JOIN students s2
    ON f.friend_id = s2.id
INNER JOIN incomes i1
    ON s1.id = i1.id
INNER JOIN incomes i2
    ON s2.id = i2.id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...