1

特定のデータセットを使用して、変数を宣言し、MySQL Workbench でフィールドを計算しようとしています。これが私が引っ張っているデータの例です:

select
product.id as "Product ID",
product.name as "Product Name",
product.type as "Product Type",
product.weight as "Product Weight",
product.amount as "Product Amount",
product.cost as "Product Cost"

以下に適切な結合をすべて示しますが、操作に使用できる追加の変数を作成したいと思います。この例では、それを「総コスト」として宣言します。ただし、総コストは「製品タイプ」に基づいて異なります。したがって、製品タイプが「可変」の場合、総コストは製品 (product.cost * product.weight) として計算され、製品タイプが「固定」の場合、総コストは (product.cost *) として計算されます。商品.金額)。

IF 関数を作成し、結合する前にそれを値として宣言する方法があれば教えてください。

ありがとう!

ジェフ

4

1 に答える 1

1

句に何を追加してWHEREも、行の量がフィルタリングされます。したがって、それは明らかに進むべき道ではありません。計算される追加の値を取得したいだけで、他のフィールドに応じてCASEステートメントを使用する必要がある場合。

select blah, blah, blah,
    case product.type
        when 'variable' then product.cost * product.weight
        when 'fixed' then product.cost * product.amount
    end TotalCost
from blah blah

詳細については、このリンクを参照してください。

于 2013-09-17T01:07:10.190 に答える