解答例 - 実習課題2 - 6.1 基本的な結合
(実習課題2)
販売管理データベースから、支払った金額の大きいもの順に、顧客名と支払った合計金額を表示する SQL 文を記述しなさい。一回あたりの支払い金額は、次の式で求めるものとする。複数台自動車を購入した顧客はそれらすべてを合計したものを支払い金額とする。
- (製品の価格) x (100 - (製品の値引率)) / 100 + (オプションの価格)
- = product.price x (100 - accept_order.dc_rate) / 100 + accept_order.option_price
顧客名とその支払い金額を表示すること。
解答例
SELECT customer.c_name AS 顧客名, SUM(product.price * (100 - accept_order.dc_rate)/100 + accept_order.option_price) AS 支払い金額 FROM accept_order, customer, product WHERE accept_order.c_num = customer.c_num AND accept_order.p_num = product.p_num GROUP BY customer.c_name ORDER BY 2 DESC ;