こんにちはゲストさん。>>解決済みの質問SQLの質問です。Editionを使って勉強中の者です。商品TBL、予約TBL、明細TBLと3つのテーブルを使用して、商品に対して予約と受取の明細がきちんと出ているのか、件数を出すSQLを組みたいと思っています。0としたいのですが、どうにも上手くいかず、下記のような結果が返ってきます。0私が実行したSQLは下記です。何か初歩的な所で間違っているような気がするのですが、自分では分からず...。何がいけないのか、ご教授の程、よろしくお願い致します。a1でcount(b.a1)とcount(c.a1)の値がどのようにでてくるかの理解が違っています。c.a1(+)は、a.a1,b.a1,b.a2,c.a1,c.a31,1,101,,1,1,102,,2,2,201,2,2223,,3,3333,,3,444となります。a1は、1,2,22,1,13,2,2となります。b.a1やc.a1がNullであろうが値が入っていようが、1件としてカウントされます。a1なんてしたら、1,2,02,1,13,0,2とでてきます。方法1:がんばってこれでやってみる。1どう考えても処理遅そう。1注:nvl(yoyaku_1.cnt,0)は、yoyaku_1.cntがNull(対象商品がない)時に0を表示します。方法3:スカラー副問い合わせを使う。1※receiptはshohinと結合すべきでないのかもしれませんが、あってはいけないyoyakuと結合できないreceiptは(質問のようにyoyakuとreceiptを結合するとカウントされないが、この回答ではカウントされてしまう。別途調べるselect文を実行するだろうから、手っ取り早く、shohinと結合してしまいました。00:50:22お礼こんな時間に素早いご回答、感謝します!解説もとてもわかりやすかったです。1回グループ化する前の全体像を把握すべきだったのですね。改善案を3つも書いて頂き、本当にありがとうございます。試してみたところ、しっかり想定通りの結果が出ました。(方法1はうまくいきませんでしたが...これは自分で確かめてみます!)大量データは、ちょっと今日はもう遅いので、明日明後日辺りに試してみたいと思います。これで今日はぐっすり眠れそうです(笑)本当にありがとうございました。回答(2)ANo.2yamada_gそもそも明細TBLに予約TBLとの関連がないのが良くないと思うのですが。それがあればもっと単純なSQLでよくなるはずです。自分で勉強用にこんな感じかなぁと思って作成したものでしたので、未熟なのは分かっていましたが...なるほど、テーブルを見直すという選択肢もあるのですね。今後の参考にさせて頂きます。初歩的なことですみません。データベースはAccessが使える程度です。