SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 06.08.2017 19:22:36

Первый раз
Участник
Зарегистрирован: 06.08.2017
Сообщений: 2

Составной запрос из двух таблиц

Добрый день, форумчане! Только начал изучать sql.
Помогите решить такую задачку: Есть две таблицы Users и Friends. В таблице Friends содержатся ссылки на записи из таблицы Users.
По известному email одного человека вывести все email друзей. Одному человеку может соответствовать несколько друзей smile

Создание таблицы Users:


CREATE TABLE Users (
    id_user  INTEGER PRIMARY KEY,
    name     VARCHAR,
    email    VARCHAR UNIQUE,
);
 


Создание таблицы Friends:

CREATE TABLE Friends (
    id_table_friends     INTEGER PRIMARY KEY,
    id_user        INTEGER REFERENCES Users (id_user),
    id_user_friend INTEGER REFERENCES Users (id_user)
);
 


id_table_friends - номер по порядку
id_user_friend  и  id_user - ссылки на запись из таблицы Users


Заранее благодарен!!!

Неактивен

 

#2 06.08.2017 20:58:32

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2419

Re: Составной запрос из двух таблиц

Попробуйте

SELECT
  u2.*
FROM
  `Users` u
  JOIN Friends f USING(`id_user`)
  JOIN `Users` u2 ON f.`id_user_friend` = u2.`id_user`
WHERE
  u.`email` = 'email@mail.ru';


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 06.08.2017 21:23:02

Первый раз
Участник
Зарегистрирован: 06.08.2017
Сообщений: 2

Re: Составной запрос из двух таблиц

deadka написал:

Попробуйте

SELECT
  u2.*
FROM
  `Users` u
  JOIN Friends f USING(`id_user`)
  JOIN `Users` u2 ON f.`id_user_friend` = u2.`id_user`
WHERE
  u.`email` = 'email@mail.ru';

Вы мой спаситель! Спасибо!))

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson