• ベストアンサー

SQL文について

つい最近SQL文を勉強し始めたのですが、わからないことがあるので質問します。 関係 発注表 商品番号 業者番号 数量 1122 2323 1 1124 2323 2 1123 2000 1 関係  商品表 商品番号 単価 1122   400 1124   600 という様な関係が存在した時、発注した合計金額が1000円を越えた業者のみを抜き出したい時はどのようなSQL文をかけばいいのでしょうか? いまいち分からないので是非解答お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#140971
noname#140971
回答No.1

商品番号_業者番号_数量_単価 _____1122_______2323______1_\400 _____1124_______2323______2_\600 _____1123_______2000______1_null SELECT 発注.商品番号, 発注.業者番号, 発注.数量, 商品.単価 FROM 商品 RIGHT JOIN 発注 ON 商品.商品番号 = 発注.商品番号; 商品番号_業者番号_売上金額 _____1122_______2323_____\400 _____1124_______2323____\1200 _____1123_______2000______1_null SELECT 発注.商品番号, 発注.業者番号, 発注.数量*商品.単価 AS 売上金額 FROM 商品 RIGHT JOIN 発注 ON 商品.商品番号=発注.商品番号; 業者番号_売上金額合計 _____2000___________________ _____2323__________\1,600 SELECT 発注.業者番号, SUM(発注.数量*商品.単価) AS 売上金額合計 FROM 商品 RIGHT JOIN 発注 ON 商品.商品番号=発注.商品番号 GROUP BY 発注.業者番号; 業者番号_売上金額合計 _____2323__________\1,600 さて、この最終のSQL文ですが、(1)HAVING を使う、(2)サブクエリを使うの2つが考えられます。 USE pubs SELECT type FROM titles GROUP BY type HAVING COUNT(*) > 1 ORDER BY type SELECT * FROM(SELECT・・・・) WHERE XXXXXX

関連するQ&A

専門家に質問してみよう