タイトルに記載されているとおり、いくつかのSQLをAccessで実行すると、3つの基準に基づいて0/1の変数が与えられます。まず、新しい変数は、同じである列Aのすべての値を比較する必要があります。第2に、B列の値が最大であれば(私の場合はそうでなければならない)、C列の値が最大であるかどうかをチェックする必要があります(私の場合、でなければなりません)。SQL 0/1変数にアクセスし、3つの条件を満たす:1.列Aの値が同じ2.列Bの値が最大でない3.列Cの値が最大値
通常、私は1行の列にわたって単純なIIf文を実行しますが、ここでは、同じである列Aのすべての値を比較する必要があります。値をC列の対応する「最大値」と比較します。
この目的のために新しいクエリを作成する必要がありますが、クエリを実行し、列Dに新しい変数を取得し、0/1変数を与えますか?
は、それは完全に透明、私のデータは、以下のようなものに見えるようにするには、次の行のthousindsのA B C
10 4 12-04-2014
10 5 02-17-2015
10 7 08-11-2016
10 8 08-31-2016
10 6 09-05-2016
そして、そこだろうhoundredsを、どこそこらで10
から異なるだろうこの例では、最後の行のみが列Dの値1を取得します。これは最新の日付を持つため、列AのID値の列Bの最高値ではありません。
- マーク
は、あなたが最高値を選択できるようにしたいです列Cを選択し、列Dの対応する行に値1を割り当てます。 – kplus
正確ではありません。これは最初の基準にすぎません。 Dの値1は、Cの値が最も高い場合にのみ得られ、Bの値は最高ではない。そして、Aの値が行全体にわたって同じであるBとCの値だけを比較できることを考慮する必要があります。 –
問題は、特定のフェーズへのリターンを測定する必要があることです。その理由は、列Bが重要であり、値がこの列の中で最も高いことはできません。 –