Как получить результаты из таблиц пользователей, постов, комментариев в одном запросе - PullRequest
0 голосов
/ 03 апреля 2019

Название может не совсем соответствовать вопросу! простите меня

Цель

Я хочу получить name из user, который сделал post, description этого поста (p_description), комментарии, которые есть на этом post, и ФИО тех, кто предоставил комментарии (comment_description)

Как мне этого добиться?

У меня три таблицы:

user

post и

comments

Пользователь Таблица выглядит так:

u_id name и так ...

Пост таблица, вот она:

u_id p_id p_description

u_id как внешний ключ из таблицы user,

и таблица Comments:

u_id p_id comment_description.

обратите внимание, что u_id и p_id в таблице комментарии оба являются внешними ключами из таблицы user и post соответственно.

Я пишу следующий запрос для вышеуказанного Цель :

SELECT p_description,f_name,comment_description as COMMENT FROM user JOIN post ON user.u_id = post.u_id JOIN comments ON user.u_id = comments.u_id

Это дает мне post description, name of that guy who has done post и the comments on that post, и я хочу также иметь имя тех парней, которые сделали комментариев к этому сообщению .

Если проблема не очень хорошо объяснена.

просто я хочу запросить выше GOAL относительно этих трех таблиц.

1 Ответ

0 голосов
/ 03 апреля 2019

Присоединитесь user еще раз к ID пользователя в comments.

SELECT u1.name,
       p1.p_description,
       u2.name,
       c1.comment_description
       FROM user u1
            INNER JOIN post p1
                       ON u1.u_id = p1.u_id
            INNER JOIN comments c1
                       ON c1.p_id = p1.p_id
            INNER JOIN user u2
                       ON u2.p_id = c1.p_id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...