2

私は、表 1 と表 2 を使用して、最終結果が合計を含む列を持つ SQL クエリに取り組んでいます。

表 1:メンバー:

    Level
    Individual
    Super

表 2: M レベル:

    Level . . . . . Fee
    Super . . . . . 700
    Individual .. . 400

列 1 のレベルに値を与える: 700 + 400 + 700 = 1800

望ましい結果:

    Total . . . . . 1800

私のコード:

最初のコード試行:

SELECT SUM(Members.Level) as TotalRevenue
FROM MLevel 
INNER JOIN Members ON Members.Level = MLevel.Level

結果:条件式のデータ型が一致しません

2 回目のコード試行:

SELECT SUM(MLevel.Fee) as TotalRevenue
FROM MLevel 
INNER JOIN Members ON MLevel.Level= Members.Level

結果:ポップアップボックス(MLevel.Feeのパラメータ値を入力)

すべてのコード結果が間違っています。出力が 1800 になるようにこのコードを修正するにはどうすればよいですか?

4

2 に答える 2

0

表2の手数料列の合計を計算するだけです

2番目のテーブルにエイリアスを付けてから、合計ステートメントでalias.columnNameを参照します

于 2012-04-09T13:29:50.017 に答える
0

これはテーブル構造とデータ型に依存しますが、以下をテストしたところ、以下MS Access 2003を使用するとうまくいきました。

Members table:
Level
Individual
Super

MLevel Table:
Level       Fee
Super       700
Individual  400

SELECT SUM(MLevel.Fee) as TotalRevenue
FROM MLevel 
INNER JOIN Members ON Members.Level = MLevel.Level

クエリを使用すると、Members にエントリが 2 つしかないため、合計が 1100 になり、さらに追加すると合計が正しく増加します。

のデータ型がテキスト フィールドであるため、最初のクエリは機能しませMembers.Levelん。メンバーのレベルが数値ではないため、データ型の不一致が発生します。

SELECT SUM(Members.Level) as TotalRevenue
FROM MLevel 
INNER JOIN Members ON Members.Level = MLevel.Level
于 2012-04-09T14:03:55.167 に答える