1

次のことを実行するにはどうすればよいですか。

Christopher Vestal 240 $506.00 11/23/2012 $0.91

Christopher Vestal 240 $43.10 11/23/2012 $0.91

Christopher Vestal 240 $77.60 11/23/2012 $0.91

Christopher Vestal 240 $16.00 11/23/2012 $0.91

私は金額を確認し、手数料で最高額を維持し、他の金額を$0.00に変更します。

C Scott Gobble 444 $29.30 11/23/2012 12:00:00 AM $0.00

C Scott Gobble 444 $104.00 11/23/2012 12:00:00 AM $0.00

C Scott Gobble 444 $8.60 11/23/2012 12:00:00 AM $0.00

C Scott Gobble 444 $506.00 11/23/2012 12:00:00 AM $0.91

これは、SQLで出力する必要がある最終結果です。これどうやってするの?

4

2 に答える 2

1

Access 2007 を使用して、クリストファーのサンプル データを という名前のテーブルに保存しましたYourTable

full_name          some_number amount  date_field fee
Christopher Vestal         240 $506.00 11/23/2012 $0.91
Christopher Vestal         240  $43.10 11/23/2012 $0.91
Christopher Vestal         240  $77.60 11/23/2012 $0.91
Christopher Vestal         240  $16.00 11/23/2012 $0.91

このクエリにより、次の結果セットが生成されました。

SELECT
    y.full_name,
    y.some_number,
    y.amount,
    y.date_field,
    IIf(y.amount < DMax(
            "amount",
            "YourTable",
            "full_name ='" & y.full_name & "'"
            ), 0, y.fee
        ) AS adjusted_fee
FROM YourTable AS y;

full_name          some_number amount  date_field adjusted_fee
Christopher Vestal         240 $506.00 11/23/2012        $0.91
Christopher Vestal         240  $43.10 11/23/2012        $0.00
Christopher Vestal         240  $77.60 11/23/2012        $0.00
Christopher Vestal         240  $16.00 11/23/2012        $0.00

保存された値を実際に変更する必要がある場合は、このステートメントfeeで実行できます。UPDATE

UPDATE YourTable AS y
SET y.fee = 0
WHERE
    y.amount < DMax(
            "amount",
            "YourTable",
            "full_name ='" & y.full_name & "'"
            );
于 2013-01-17T22:43:55.073 に答える
0

SQLステートメントでは、次のようなものを使用してみてください。

 Select iif(Amount = Max(Amount), Fee, 0)
 From MyTable
于 2013-01-17T21:41:27.543 に答える