グループ化が適切に機能しないか、コードに問題があるという自己結合テーブルに問題があります。
住宅販売データを含むテーブルを作成しようとしていますが、その結果を地域別および住宅タイプ別にグループ化する必要があります。
これが私がこれまでに持っているもので、必要なものに近いものです。
SELECT A1.AREA AREA,
TRUNC((A1.SOLD_PRICE/A1.ASK_PRICE*100), 2) || '%' "ATT / ROW / TWNHOUSE",
TRUNC((A2.SOLD_PRICE/A2.ASK_PRICE*100), 2) || '%' "DETACHED",
TRUNC((A3.SOLD_PRICE/A3.ASK_PRICE*100), 2) || '%' "SEMI-DETACHED"
FROM SALESRECORDS A1, SALESRECORDS A2, SALESRECORDS A3
WHERE A1.AREA = A2.AREA AND A1.AREA = A3.AREA
GROUP BY A1.AREA, A1.HOUSE_TYPE;
これによりエラーが発生しますORA-00979: not a GROUP BY expression
。
SQL の規則に従い、すべての項目を group by 句に追加すると、order by ステートメントと同様の結果が得られます....
SELECT A1.AREA,
TRUNC((A1.SOLD_PRICE/A1.ASK_PRICE*100), 2) || '%' "ATT / ROW / TWNHOUSE",
TRUNC((A2.SOLD_PRICE/A2.ASK_PRICE*100), 2) || '%' "DETACHED",
TRUNC((A3.SOLD_PRICE/A3.ASK_PRICE*100), 2) || '%' "SEMI-DETACHED"
FROM SALESRECORDS A1, SALESRECORDS A2, SALESRECORDS A3
WHERE A1.AREA = A2.AREA AND A1.AREA = A3.AREA
GROUP BY A1.AREA, A1.SOLD_PRICE, A1.ASK_PRICE, A2.SOLD_PRICE, A2.ASK_PRICE,
A3.SOLD_PRICE, A3.ASK_PRICE;
誰かが私が間違っていることを教えてもらえますか....?