SQL-запрос для получения исполнителей с более чем 3 альбомами и именами этих исполнителей

#sql

#sql

Вопрос:

Мне нужен запрос, который получит исполнителей с более чем одним альбомом, а также покажет имена этих исполнителей вместе с общим количеством альбомов, которые у них есть. Это состоит из двух таблиц ALBUM и ARTIST, обе из которых имеют ARTISTID, но только таблица ARTIST имеет имя исполнителя.

У меня есть следующее, но я не уверен, что делать дальше:

SELECT ARTISTID FROM ALBUMS GROUP BY ARTISTID HAVING COUNT(ARTISTID) >= 3

Это дает мне ARTISTID из таблиц АЛЬБОМОВ, который встречается не менее 3 раз.

ТАБЛИЦА АЛЬБОМОВ: ТАБЛИЦА АЛЬБОМОВ

ТАБЛИЦА ИСПОЛНИТЕЛЕЙ: ТАБЛИЦА ИСПОЛНИТЕЛЕЙ

Комментарии:

1. Обязательно отфильтруйте Nickelback.

2. @Max Самый смешной комментарий, который я слышал за последнее время. Мы могли бы также пошутить по поводу недолгого брака Аврил Лавин, но я не буду вдаваться в подробности.

Ответ №1:

Вы можете использовать join и group by следующим образом:

 SELECT AR.ARTISTID, AR.ARTISTNAME, COUNT(*) NUM_OF_ALBUM
FROM ALBUMS A JOIN ARTIST AR ON A.ARTISTID = AR.ARTISTID
GROUP BY AR.ARTISTID, AR.ARTISTNAME 
HAVING COUNT(*) > 1