0

次のデータベース スキーマから売上が最小のすべての従業員を選択しようとしています。

従業員(eno、ename、zip、hdate)

パーツ(pno、pname、qoh、価格、レベル)

顧客 (cno、cname、番地、郵便番号、電話番号)

注文 (ono、cno、eno、受信、出荷)

詳細(ono、pno、qty)

郵便番号(郵便番号、都市)

エラーなしで従業員あたりの総売上高を計算するために取り組んでいたクエリを取得できません。私の問題は、従業員に関連する注文あたりの数量 * 価格を取得することです。

4

1 に答える 1

1

次のようなものではないでしょうか。

SELECT Employees.eno, Employees.ename, SUM(Odetails.qty * Parts.price) AS Sales
FROM Employees JOIN
 Orders ON Employees.eno = Orders.eno JOIN
 Odetails ON Orders.ono = Odetails.ono JOIN
 Parts ON Parts.pno = Odetails.pno
GROUP BY Employees.eno, Employees.ename

上記の選択クエリ (SQL Server) は、従業員のリストを、それぞれの eno (従業員番号の推測) と ename とともに、部品の価格に対して乗算された数量の合計と共に返します。その後、従業員を特定することができます。最小限の売上で。上記の選択を派生テーブルとして使用し、Sales 列で並べ替えて、売上が最も少ない人、2 番目に少ない人、3 番目に少ない人などの順序を確認できます。 INNER JOIN または OUTER JOIN の可能性があるためです。

これが仲間に役立つことを願っています。

于 2012-11-05T05:08:19.113 に答える