- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:値がNullの場合のクエリーの条件)
値がNullの場合のクエリーの条件
このQ&Aのポイント
- AとBのテーブルを結合させて、BにあるIDを集計する際に、値がNullのIDも表示させる方法を知りたい。
- クエリーに条件を追加することで、値がNullのIDも表示させることができる。
- 具体的な条件として、IsNull関数を使用してCountが0の場合も表示させるようにする。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
すみません。外部結合の順序を読み違えて書いています。#1は無視してください。 HAVING句が使えないことに関しては同様です。 「値がないIDも表示」が「AListに値がないIDも表示」という意味でしたら、外部結合をLEFT JOINにしてください。 この場合はSELECTおよびGROUP BYする列に関して、AList.CidをBList.Cidに変えてください。 この場合にはBList.Cidに現れないIDについては表示されません。 AList.CidかBList.Cidのどちらかに現れるIDについて全て表示、という場合には左右の外部結合で抽出した結果をUNIONで結合してください。
その他の回答 (1)
- zzzzzz
- ベストアンサー率61% (70/113)
回答No.1
Access/Jet-SQLと判断して回答します。 HAVING句は集計後の表に関する条件を設定するものなので、この意味では使用できません。 「値がないID」が「BList.CidがNULLのものについてもまとめる」という意味でしたら、 Count(BList.Cid)をCOUNT(*)に変更してください。 (Count(BList.Cid)は、BList.CidがNULLでないものの件数を数える、という意味です) 「値がないID」が「BList表には現れないIDについても結果を表示したい」ということでしたら、 外部結合のやり方から考え直す必要があります。 この場合は、「どのIDを結果に含めたいのか」を書いてください。 なお、BList.Cidの値で、AList.Cidには現れないもののことを考慮するのなら、 SELECTするのはAList.CidよりもBList.Cidとした方が安全です。(結果が見にくくなる可能性を排除できます)
お礼
回答ありがとうございました。 Access、とくにクエリーやVBAはまだまだ初心者でして大変助かりました。 さっそく明日、試したいと思います。