質問: ACCESSのクエリで4つのフィールド値を比較して、数値のもっとも高いフィールドを求めたい。
回答: 少し(?)ゴチャゴチャしてますが、 SELECT テーブル.コード, テーブル.金額_1, テーブル.金額_2, テーブル.金額_3, テーブル.金額_4, Right(Max([値]),4) AS フィールド名 FROM テーブル INNER JOIN ( SELECT コード, Format([金額_1],"000000000") & "_金額_1" AS 値 FROM テーブル UNION ALL SELECT コード, Format([金額_2],"000000000") & "_金額_2" AS 値 FROM テーブル UNION ALL SELECT コード, Format([金額_3],"000000000") & "_金額_3" AS 値 FROM テーブル UNION ALL SELECT コード, Format([金額_4],"000000000") & "_金額_4" AS 値 FROM テーブル ) AS q_u ON q_u.コード = テーブル.コード GROUP BY テーブル.コード, テーブル.金額_1, テーブル.金額_2, テーブル.金額_3, テーブル.金額_4; こんな感じでしょうか。