0

その結果を得るためのモードや方法はありますか? 投稿で私の画像を見てください代替テキスト 私の結果が縦の数字(黒い線)と横の数字(赤い線)の積であることを望みます

4

2 に答える 2

1

これを試してください:

select cast(exp(sum(log(ExpPeso))) as float) as myresult1, (tda1*tda2*tda3*tda4) as reslutset2  
from TableName
于 2010-11-05T21:35:47.833 に答える
1

番号付きの列を次のようなテーブルに抽出してデータを正規化する場合

Matrix
Name  Value
Tda1    94.5
Tda2    21.1
Tda3    53.4
Tda4    21.1

また、元のテーブルが名前付きテーブルであると仮定すると、名前と呼ばれる列の列 tda 値と、名前付き式で乗算する値が含まれます (列名を読み取れません)

その後、あなたができる

SELECT matrix.value * table.expression
FROM matrix m INNER JOIN table t
    ON m.name = t.tda_value

構造を変更できない場合は、標準SQL(IMHO)で大文字と小文字を区別する必要があります

SELECT 
      CASE t.tda_value 
          WHEN "Tda1" THEN Tda1
          WHEN "Tda2" THEN Tda2
          WHEN "Tda3" THEN Tda3
          WHEN "Tda4" THEN Tda4
          ELSE 0
      END * t.expression
FROM table

ノート:

  • ELSE NULL が必要な場合があります (または他をスキップします)。
  • 一部のデータベースには、標準の拡張機能があり、動的な列を行にすることができます

編集:もちろん、あまりにも明白に述べるリスクがあるため、最後に上記のクエリの SUM を実行できます。

于 2010-11-05T22:52:28.387 に答える