Поэтому я пытаюсь написать оператор SQL следующим образом …
Мне нужно найти список имен исполнителей, количество CD у них есть
производится и средняя цена на их диски. Только возвращающие результаты
для артистов с более чем одним CD.
Проблема в том, что каждый раз, когда я думаю, что у меня это получилось, я получаю сообщение об ошибке «Операнд должен содержать 1 столбец (и)», мне кажется, что я сейчас невероятно плотный, но если бы кто-то мог помочь, я был бы очень признателен.
Вот код, который я пытался в последний раз ..
SELECT Artist.artID, CD.cdPrice, Count(*)
FROM CD
INNER JOIN Artist
ON Artist.artID=(SELECT CD.artID, AVG(CD.cdPrice), COUNT(*)
as Count FROM CD GROUP BY CD.artID HAVING Count > 1)
Ваше объединение имеет три столбца с правой стороны
чтобы вы могли использовать что-то вроде
SELECT Artist.artID, CD.cdPrice, Count(*)
FROM CD
INNER JOIN Artist
ON Artist.artID=(SELECT CD.artID
FROM CD
GROUP BY CD.artID
HAVING Count(*) > 1)
Group by Artist.artID, CD.cdPrice
АЛЬТЕРНАТИВА
SELECT Artist.artID, CD.cdPrice, Count(*)
FROM CD
INNER JOIN Artist
ON Artist.artID=CD.artID
Group by Artist.artID, CD.cdPrice
АЛЬТЕРНАТИВА 2
SELECT Artist.artID, AVG(CD.cdPrice), Count(*)
FROM CD
INNER JOIN Artist
ON Artist.artID=CD.artID
Group by Artist.artID
Having count(*) >1
ты говоришь WHERE artID= three columns
Это проблема