|
■No67292 (yokodetown さん) に返信 > ■No67285 (魔界の仮面弁士 さん) に返信 >>■No67268 (yokodetown さん) に返信 > >>やってみたら、あとは在庫数,入荷数,販売数すべてが '0'のときにはそのコード( 1 LINE )は > >>表示させたくないのですがこのクエリーでは出来そうにもないですね。 >> >>HAVING なり WHERE なりで絞り込みましょう。今回は join した結果に対して WHERE するのが良いかな。 > > 魔界の仮面弁士 さん 有難うございます。 > ご回答いただいたあと、実際のデータベースを使って、SQL Server Manegement Studioにて、 > どこに"WHERE"を入れればよいか1日思考錯誤しながらトライしましたが、今のところわかりません。 > もう少しやってみます。またよろしくお願いいたします。 > > 以下のクエリーにWHEREを使おうとしています。 > SELECT > table1.コード > , table1.品名 > , table1.在庫数 > , IsNULL(table0.入荷数, 0) 入荷数 > , IsNULL(table0.販売数,0) 販売数 > FROM table1 LEFT JOIN (SELECT > table2.コード > , SUM(table2.入荷数) 入荷数 > , SUM(table2.販売数) 販売数 > FROM table2 > WHERE table2.伝票日付 like '2013/07/%' > GROUP BY table2.コード) table0 > ON table1.コード = table0.コード
魔界の仮面弁士 さん 出来ました。 SELECT table1.コード , table1.品名 , table1.在庫数 , IsNULL(table0.入荷数, 0) 入荷数 , IsNULL(table0.販売数,0) 販売数 FROM table1 LEFT JOIN (SELECT table2.コード , SUM(table2.入荷数) 入荷数 , SUM(table2.販売数) 販売数 FROM table2 WHERE table2.伝票日付 like '2013/07/%' GROUP BY table2.コード) table0 ON table1.コード = table0.コード WHERE (table0.入荷数<>0 or (table0.販売数<>0) or (table1.在庫数<>0) これで実際のデータベースにアクセスし、DataGridViewに表示できました。 非バインドで表示していますが(非バインドの方がいい) SQLを書くだけでバインドできる方法ってあるのでしょうか(でたらめ言っているかも) これでできましたので解決済とさせていただきます。有難うございました。
|