電子書籍の厳選無料作品が豊富!

アクセスのクエリで、テーブルAのフィールド1が"a"又は、"b"の場合は、"ABC"と表示し、それ以外の場合は、テーブルAのフィールド2に対応している、テーブルBのフィールド1の値を表示させる事はできますか?
誰か教えて下さい。よろしくお願いします。

A 回答 (1件)

テーブルA、Bのサンプルが以下の様だとします。


(テーブルAのフィールド2の名前を id と仮定します)

テーブルA
フィールド1 id
"a"     0
"abc"    10
"b"     0
"bbc"    20

テーブルB
id フィールド1
0 (空欄)
10 "AAAAA"
20 "BBBBB"


表示を
フィールド1 XXXX
"a"      "ABC"
"abc"     "AAAAA"
"b"      "ABC"
"bbc"     "BBBBB"
とするものと仮定すると

SELECT テーブルA.フィールド1
, IIF(テーブルA.フィールド1 = "a" Or テーブルA.フィールド1 = "b", "ABC", テーブルB.フィールド1) AS XXXX
FROM テーブルA LEFT JOIN テーブルB ON テーブルA.id = テーブルB.id;

でできると思います。

サンプルを見ていただけるとわかると思いますが、

テーブルB
id フィールド1
0 "ABC"
10 "AAAAA"
20 "BBBBB"

に変更すると

SELECT テーブルA.フィールド1, テーブルB.フィールド1 AS XXXX
FROM テーブルA LEFT JOIN テーブルB ON テーブルA.id = テーブルB.id;

と変形できると思います。

または、

テーブルB
id フィールド1
10 "AAAAA"
20 "BBBBB"

であったとすると

SELECT テーブルA.フィールド1
, IIF(IsNull(テーブルB.id), "ABC", テーブルB.フィールド1) AS XXXX
FROM テーブルA LEFT JOIN テーブルB ON テーブルA.id = テーブルB.id;

と変形できると思います。
(IIF 条件を、テーブルBに id が存在しなかったらとした場合)
    • good
    • 0
この回答へのお礼

非常にわかりやすい回答ありがとうございます。
助かりました。

お礼日時:2009/11/17 21:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!