объединить результаты двух наборов результатов с общим атрибутом mySQL - PullRequest
0 голосов
/ 07 октября 2018

Я пытаюсь объединить два набора результатов, которые были получены с помощью запросов SQL, в один набор результатов.Наборы имеют 2 столбца каждый.Первый набор содержит псевдоним и сообщения, а второй - псевдоним и комментарии.Как мне объединить эти два набора, чтобы показать, сколько сообщений и комментариев имеет каждый псевдоним?Окончательный набор результатов должен содержать: ник, посты, комментарии.

Первый набор:

SELECT u.nickname, COUNT(c.nickname) AS comments 
 FROM postcomments c, users u WHERE c.nickname = u.nickname 
GROUP BY nickname;

Второй набор:

SELECT u.nickname, COUNT(*) AS posts 
 FROM postauthors a, users u WHERE a.nickname = u.nickname 
GROUP BY u.nickname;

1 Ответ

0 голосов
/ 07 октября 2018

Вы можете использовать JOIN, чтобы сделать это

SELECT u.nickname, COUNT(c.id) AS comments,count(a.id) AS posts 
 FROM users u
 LEFT JOIN postcomments c ON c.nickname = u.nickname
 LEFT JOIN postauthors a ON a.nickname=u.nickname
GROUP BY u.nickname;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...