アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっています。

Access2007で下記のような2つのテーブルをクエリで比較した際、なぜかNULLの部分だけのぞんだ結果にならないという現象があり、理由がわからず困っています。

内容としては、「(1)明細データ」のすべてと、「(2)コード表」をあて、「(3)結果リスト」のような表示でコードを追記するようなものです。
下記の「__」は表記の便せん上分かりやすいようNULLを示しています。

「(1)明細データ」はクエリで2つのテーブルを突き合わせ「区」を付けたしたもので、「(2)コード表」はマスタ用のテーブルとして手作りしています。
「(2)コード表」を手作りする際にはNULLの部分はなにも入れずに空にしています。


(1)明細データ
商品名 区
AAAAAA XX
BBBBBB YY
BBBBBB YY
CCCCCC XX
CCCCCC YY
CCCCCC __

(2)コード表
商品名 区 変換CD
AAAAAA XX 000101
AAAAAA YY 000102
AAAAAA __ 000199
BBBBBB XX 000201
BBBBBB YY 000202
BBBBBB __ 000299
CCCCCC XX 000201
CCCCCC YY 000202
CCCCCC __ 000299

(3)結果リスト
商品名 区 変換コード
AAAAAA XX 000101
BBBBBB XX 000201
BBBBBB YY 000202
CCCCCC XX 000301
CCCCCC YY 000302
CCCCCC __ 000399☆

ところが、クエリで実現しようとするとこの「(3)結果リスト」の☆のついている一番最後の結果が

CCCCCC __ ______

となってしまい、変換コード部にコードを埋め込むことができません。
こういう現象は初めての為、どのように聞くべきかわからないのですが、もし何かご存知、ないし、ヒントになり得ることを知っておりましたらお教えください。
以上、よろしくお願いいたします。

A 回答 (1件)

30代の男です。



作成したクエリ文を載せるほうが回答をもらうためにもよいと思います。
おそらくですが、
SELECT
明細データ.商品名
, 明細データ.区
, [コード表].変換CD
FROM 明細データ
LEFT JOIN コード表
ON (明細データ.区 = [コード表].区)
AND (明細データ.商品名 = [コード表].商品名);

とされていると推察します。
ここで問題とされていますデータ「CCCCCC,NULL」の変換CDが「000299」に変換されない事に関してですが、
まず、「NULL値」であることが問題となります。
「NULL値」は「何も入力されていない」という事になりますので
「NULL値」と「NULL値」を結合させ、結果を表示させるという事はできません。

可能であれば、「区」の項目には「NULL値」ではなく、何か別の文字(半角スペース1つでも可)を
入力することをお勧めします。


すでに多岐に渡る人がシステムを使用しており、変更が不可能というのであれば、

「明細データ」と「コード表」それぞれに以下のようなクエリを作成し、クエリ同士で
結合を行った結果を「結果リスト」とすれば表示は可能です。
-------
クエリ:明細データ変換
SELECT 明細データ.商品名, Nz([区]," ") AS 区変換
FROM 明細データ;
-------
クエリ:コード表変換
SELECT [コード表].商品名, Nz([区]," ") AS 区変換, [コード表].変換CD
FROM コード表;
-------

上記二つのクエリは単純に
[区]という項目の値が「NULL値」であった場合、半角スペース一つで項目を表現するという
ものになります。


以上です。
分かりづらい所がありましたら補足にご記載ください。。
    • good
    • 0
この回答へのお礼

内容はご推察通りで、意をくんでいただきありがたい次第です。

なるほど、すかさず試してみました。

元データ側をいじることができない為、対処方法としても提示いただいてる内容と同様に一度クエリーでNZを使い、どちらのテーブルもNullを""に変換。それを使って、もう一度クエリーであて込むようにしたところ、希望している出力が出るようになりました。

気づいてみればああなるほどなのですが、変なところではまってしまった為、危うく思考が止まってしまうところでした(^^;
本当に助かりました。

ありがとうございます。

お礼日時:2011/11/10 16:40

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

関連するカテゴリからQ&Aを探す