次のデータベース スキーマがあります。
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
列が存在しないことを教えてくれます。この問題に対して間違ったアプローチを取っていますか?