ここから本文です

ACCESSのクエリで4つのフィールド値を比較して、数値のもっとも高いフィールドを...

tom********さん

2010/10/2809:55:47

ACCESSのクエリで4つのフィールド値を比較して、数値のもっとも高いフィールドを求めたい。

テーブル内は、会社コード、区分①~④に分けた金額をもった5フィールドです。

コード、金額①、金額②、金額③、金額④
A, 10, 20, 0, 5
B, 1, 20, 30, 5

のようなイメージで格納されております。
Aは金額②が高いので、金額②のフィールド名を後の処理で使いたいのですが、
アクセス内でフラグを立てるなど何か方法はありますでしょうか?

宜しくお願い致します。

閲覧数:
1,208
回答数:
1

違反報告

ベストアンサーに選ばれた回答

tab********さん

2010/10/2815:18:24

少し(?)ゴチャゴチャしてますが、


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;


こんな感じでしょうか。

質問した人からのコメント

2010/10/28 17:45:36

成功 ありがとうございました!UNIONを使うのですね!解決しました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる