所以我试着写一个SQL语句如下......
我需要查找艺术家姓名列表,他们拥有的CD数量 制作,以及他们的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)
答案 0 :(得分:0)
您的联接在右侧有三列 所以你可以使用像
这样的东西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
<强> ALTERNATIVE 强>
SELECT Artist.artID, CD.cdPrice, Count(*)
FROM CD
INNER JOIN Artist
ON Artist.artID=CD.artID
Group by Artist.artID, CD.cdPrice
ALTERNATIVE 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
答案 1 :(得分:0)
你说WHERE artID= three columns
这就是问题