0

だから、私はSQLにまったく慣れていませんが、私が取ったコースから持っている本は役に立たず、そのコースのプロジェクトをやろうとしています. インターネットはあまり役に立ちませんでした (正確にどこから始めればよいかわかりません)。そのため、優れたチュートリアルへのリンクと、非常に具体的なクエリのヘルプの両方を求めたいと思います。

私が言っていることが十分に明確でない場合は、私に説明を求めてください! :)

という名前のデータベースにと の2 つのテーブルがあるsaleとします。p_salejewel_store

sale次の 2 つの列が含まれます:sale_CODEおよびsale_date

p_sale上記の、、および sale_CODEを参照するものを含むsale_IDp_IDp_sl_quantityp_sl_value

sale_CODEの主キーでsaleありsale_CODE,p_ID、の主キーですp_sale

当分の間p_ID、あまり役に立たないので、ほとんど無視してください。

p_sl_quantityです。int_ p_sl_value_ double(8,2)1 つ目は購入した製品の数量で、2 つ目は製品のPER UNITの値です。

おそらく明らかなようsale_CODEに、テーブル内の多数のエントリにリンクできp_saleます (sale_CODE 1 の例では、p_sale に 2 つのエントリがあります)。

これはすべて、私がタスクから与えられたものに基づいており、正しく実装されており、いくつかの例の値が含まれています.

私が今しなければならないことは、特定の月の売上からの総収入を見つけることです。私の最初のアプローチは、すべてを段階的に構造化することでした。そのため、次のようなポイントに到達しました。

SELECT SUM(p_sl_value * p_sl_quantity) AS sales_monthly_income, p_sale.sale_CODE FROM jewel_store.p_sale GROUP BY p_sale.sale_CODE

これはおそらく、ストアの販売で発生した合計金額を取得できるため、半分ほど進んでいます。したがって、私の次のステップは、このクエリを使用して、そこから SELECT することでした。私はすでに数回それを台無しにして、今頭を悩ませています。私がしたことは次のようなものでした:

SELECT
    SUM(sales_monthly_income),
    sales_monthly_income,
    EXTRACT(MONTH FROM jewel_store.sale.sale_date) AS sales_month
FROM (
SELECT
    SUM(p_sl_value * p_sl_quantity) AS sales_monthly_income,
    sale_CODE
FROM jewel_store.p_sale
GROUP BY sale_CODE
) as code_income, jewel_store.sale
GROUP BY sales_month

total_montly_income最初に、最終的なフォームで列と列を印刷するだけでmonth済みますが、これを使用して、そこですべてがうまくいかなかったことを明確にしました。どうにかして他のテーブルを参照する外部キーを使用する必要があると思いますが、私の本は私を助けるのにまったく役に立ちません。なぜこれが間違っているのか、何が正しいのかを誰かに説明してもらいたいのですが、この種のことを行う方法を学ぶために、良いpdf、サイト、または何かを教えてください. (私はW3SCHOOLSをチェックしました、それは基本には適していますが、高度なものには適していません)

前もって感謝します!

4

1 に答える 1

1

私の頭のてっぺんから、これはそれである可能性があります。月ごとに値の合計と数量をグループ化します。

SELECT
    SUM(p.p_sl_value * p.p_sl_quantity) AS sales_monthly_income,
    month(s.sale_date)
FROM p_sale p
inner join sale s on s.sale_code = p.sale_code
GROUP BY MONTH(s.sale_date)
于 2013-06-09T09:13:09.753 に答える