所以我试图让这个SQL语句起作用,
我需要找到一个艺术家名单列表,CD的数量 艺术家和他们的CD的平均价格,但不包括 'Electronica'专辑。
到目前为止,我已经有了第一个工作,我可以返回艺术家名单,CD数量和平均价格,但我不能成功地排除Electronica专辑,并想知道是否有这样做的简单方法?
我试图完成的代码是:
SELECT Artist.artName, AVG(CD.cdPrice), Count(*)
FROM CD
INNER JOIN Artist
ON Artist.artID=CD.artID
Group by Artist.artID
Having count(*) >1
WHERE Artist.artID =
CD.artID AND artGenre
NOT LIKE “Electronica”));
答案 0 :(得分:1)
我已经清理了一下您的查询:
SELECT Artist.artName, AVG(CD.cdPrice), Count(*)
FROM CD INNER JOIN Artist
ON Artist.artID=CD.artID
WHERE Artist.artGenre NOT LIKE "%Electronica%"
GROUP BY Artist.artID
在您的原始查询中,您有WHERE Artist.artID = CD.artID
,这完全没必要,因为您已在JOIN
中指定了此内容。我还删除了HAVING count(*) > 1
子句,因为它不是原始问题陈述的一部分。