2016-10-27 7 views
0

の原材料の総コストを計算します。結果テーブルには、製品ID、製品名、および原材料の合計原価が表示されます。結果を、降順で原材料の合計原価でソートします。SQLはねえ、私は</p> <p>は、各仕上げ製品の原材料の総コストを計算するためのクエリを、この質問に答えるためにしようとしている各仕上げ製品

これは私が

SELECT Product_t.Product_ID, Product_t.Product_Name, SUM(Uses_t.Footage * Raw_Materials_t.Unit_price) AS Total_Cost_Of_Raw_Materials 
FROM Product_t, Uses_t, Raw_materials_t 
WHERE Product_t.Product_ID=Uses_t.Product_ID and Uses_t.Material_ID=Raw_materials_t.Material_ID 
GROUP BY Product_ID 
ORDER BY SUM(Raw_Materials_t.Unit_price * Uses_t.Footage) DESC; 

持っているものにエラーが指定したフィールドのPRODUCT_IDがあなたのSQL文のFROM句にリストされている複数のテーブルを参照することができることをポップアップ表示されます。

私はそれを修正したとは思っていましたが、明らかにその機能していません。 助けてくれてありがとう!!

+0

適切な明示的な 'JOIN'構文を使用する方法を学んでください。 –

+0

どのように私は3つのテーブルに参加することができます –

答えて

0

MS Accessは、SQLを習得している場合に使用する厄介なデータベースです。それは独特です。私はクエリが次のようになると思います:

SELECT p.Product_ID, p.Product_Name, 
     SUM(u.Footage * m.Unit_price) AS Total_Cost_Of_Raw_Materials 
FROM (Product_t as p INNER JOIN 
     Uses_t as u 
     ON p.Product_ID = u.Product_ID 
    ) INNER JOIN 
    Raw_materials_t as m 
    ON u.Material_ID = m.Material_ID 
GROUP BY p.Product_ID, p.Product_Name, 
ORDER BY SUM(m.Unit_price * u.Footage) DESC; 
+0

それは私にパラメータを入力するように頼みます。私は単価がすでにmaterials_tにあります –

+0

ありがとうございました。私はどこで学ぶことを提案しますか? –

+0

@AdrianZdanowski。 。 。データベースの選択肢があれば、Postgres、SQL Server Express、Oracle Express、MySQLなど、ANSI標準に近いものがほとんどです。 –

関連する問題