0

だから私は次のように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)
4

2 に答える 2

0

結合には右側に3つの列があるため、次のようなものを使用できます

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
于 2015-03-15T22:08:43.353 に答える
0

あなたはWHERE artID= three columnsそれが問題だと言っています

于 2015-03-15T22:08:55.160 に答える