-1

質問の仕方がわからないので、何をしようとしているのかを説明します。製品のレシピと注文に基づいて、原材料の消費を計算するアプリを Delphi XE で作成しています。

Orders、OrdersContent、Products、Raw Materials、Recipes の 5 つのテーブルがあります。各注文はいくつかの製品で構成されており、各製品には独自の原材料のレシピがあります。

クエリ 1 で sql を使用して、すべての注文のすべての製品を既に合計しています。これは Query1 のコマンドです。

    select Products.Price,
    OrdersContent.ID_Product, sum(OrdersContent.QNT) as QNT_Sum,
    (Products.Price * sum(OrdersContent.QNT)) as Value
    from Orders, OrdersContent, Products
    where Orders.ID = OrdersContent.ID_Order
    and Products.ID = OrdersContent.ID_Product
    group by
    OrdersContent.ID_Product, Products.Price

これは以下を返します:

    |Price  | ID_Product | QNT_Sum | Value |
    ----------------------------------------
    |  2    |   122521   |  150    |   300 |
    |  10   |   366547   |   10    |   100 |
    |  xxx  |   xxxxxx   |  xxx    |  xxxxx|

それはまさに私が欲しいものです。

したがって、SQLを使用して原材料の消費量を計算する方法があるかどうか疑問に思っています。これを行う方法を知っている他の唯一の方法は、Query1全体を反復処理し、各レコード(製品)の原材料の消費量を個別に計算することです、それを新しいテーブルに追加してから結果を合計しますが、これには非常に時間がかかります。

これを行うためのより効率的な方法があるに違いないと確信していますが、それを行う方法や場所を検索する方法についての手がかりがありません。私はコードを求めているのではなく、チュートリアルや例へのポインタやリンクを求めています。

私が十分に明確であることを願っています。そうでない場合は、さらに情報を求めてください。

4

1 に答える 1