次のデータベース スキーマがあります。
Customer(ssn, name, gender, city)
Vehicle(vin, make, model, year)
BuyVehicle(bvssn, bvvin, price, year)
はどこBuyVehicle.bvvinからの外部キーでVehicle.vin、BuyVehicle.bvssnは からの外部キーですCustomer.ssn。その特定の車両の平均よりも高い価格で車両を購入した人々の名前を選択しようとしています.
ここまでで、車両の平均を計算する方法を決定しました。
SELECT AVG(price) as avg_price, v.maker, v.model, v.year FROM BuyVehicle bv, Vehicle v, Customer c WHERE v.vin = bv.BVVIN AND c.ssn = bv.bvssn GROUP BY maker, model, year;
句にprice > avg_price条件を入力しようとしました:WHERE
SELECT AVG(price) as avg_price, v.maker, v.model, v.year FROM BuyVehicle bv, Vehicle v, Customer c WHERE v.vin = bv.BVVIN AND c.ssn = bv.bvssn AND bv.price > avg_price GROUP BY maker, model, year;
しかし、MySQL はavg_price列が存在しないことを教えてくれます。この問題に対して間違ったアプローチを取っていますか?