• ベストアンサー

アクセスのクエリについて

こんなクエリを作成したいのですが、何か手はありませんか? <タイトルDB> ID NAME ─────── 1  あ 2  い 3  う 4  え 5  お <注文DB> ID cnt ─────── 1  10 4  20 5  30 2つのDBをIDで結合してクエリを作成すると name cnt ─────── あ  10 え  20 お  30 と出力されるかと思います。 これを下記の感じに出したいのですが name cnt ─────── あ 1 い 0 う 0 え 2 お 3 とにかく、0件と表示させたいのです。

  • sac
  • お礼率19% (26/133)

質問者が選んだベストアンサー

  • ベストアンサー
noname#4564
noname#4564
回答No.1

  動作確認してませんが、たぶん、↓こんな感じです。 Select    タイトルDB.NAME,    Nz(注文DB.cnt) FROM    タイトルDB Left Join 注文DB    On    タイトルDB.ID = 注文DB.ID ORDER BY    タイトルDB.ID 不明点はヘルプでご確認ください。  

sac
質問者

お礼

回答ありがとうございます。 ただ、質問例が悪かったみたいで 再度質問したので、よろしければ また教えてください。 お願いします。

その他の回答 (1)

回答No.2

こんばんわ。 今、#1さんと同じような SQLを書いてる途中でした... 回答が先に出てしまったので、SQLは、のせませんが、 #1さんのSQLだと、0ではなく、Nullになってしまうので、補足回答しました。 揚げ足とったみたいで、#1さんごめんなさい。 Nz(注文DB.cnt) → Nz(注文DB.cnt,0) とすると大丈夫です。 では。

sac
質問者

補足

回答ありがとうございます。 ただ、質問例が悪かったみたいで 再度質問したので、よろしければ また教えてください。 お願いします。

関連するQ&A

  • アクセスのクエリについて(その2)

    同じような質問を昨日したのですが、どうも例が 誤っていたようで再度質問します。 こんなクエリを作成したいのですが、何か手は ありませんか? <タイトルDB> ID NAME ─────── 1  あ 2  い 3  う 4  え 5  お <注文DB> ID cnt ─────── 1  10 4  20 5  30 1  30 2つのDBをIDで結合してクエリ(レコード数の カウント)を作成すると name cnt ─────── あ  2 え  1 お  1 と出力されるかと思います。 これを下記の感じに出したいのですが name cnt ─────── あ 2 い 0 う 0 え 1 お 1 とにかく、0件と表示させたいのです。

  • Accessクエリ

    お世話になります。 Access初学者です。 グループごとに日付が最大のレコードを、それぞれ1件抽出するクエリを作成したいと思っています。 IDを表示させなければできるのですが、IDを表示させると全レコードが抽出されます。どのようにすればいいのでしょうか? よろしくお願いします。

  • MYSQLのクエリの最適化について

    最近データベースというものを知り、色々試しているのですが、意外と時間がかかっています。 どのようにすると、より短時間で値を調べることができますでしょうか? 行いたい操作は、下記tbleから、 「cntのうち最も小さい数字を選び出す。同一値のcnt中から、最も大きなidの、id,name,cntを選び出す。」 「次に、途中perlでid,name,cntをprint。」 「次に、呼び出したcntに+1を行い保存です。」 です。 ネット上で調べ色々試したところ下記の方法で値は調べられたのですが想像以上に時間がかかっています。 是非アドバイス頂けないでしょうか。 宜しくお願い致します。 MySQL ver:4.1 SELECT id,name,cnt FROM tble ORDER BY cnt ASC,id DESC LIMIT 1; perlでid,name,cntを取得してprint "${id} ${name} ${cnt}"; UPDATE tble SET cnt = cnt + 1 WHERE id=${cnt}; ------tble----- id name   cnt 1 mojiretsu1 0 2 mojiretsu2 5 3 mojiretsu3 4 4 mojiretsu4 1 以下、1000万行続きます。

    • ベストアンサー
    • MySQL
  • Accessの不一致クエリについて

    Accessの不一致クエリについて質問があります。 ある注文リストと商品マスタを比べ、 まずテーブル作成クエリで注文リストとマスタを比べ、常備品(商品マスタにある)は出荷日に本日日付をセットしテーブル作成、次に不一致クエリでマスタにない特注品は空欄のまま先程作成したテーブルに追加をするマクロを作成しました。 すると、注文が100件、特注が2件だった場合、最初は98件が作成されますが、不一致クエリをやっても0件になります。 ちなみに商品マスタには、商品コードと3種類の規格があり、注文リストの商品コード+規格を連結、商品マスタのそれを連結させて、一致か不一致かで見ています。 不一致がどうしても0件になるのですが、解決方法はないでしょうか。 お願いします。

  • ACCESSのクエリの中でのクエリ指定

    ACCESSのクエリで複数テーブルを結合させ明細表示させました。 その明細作成クエリーを更にそのクエリをテーブルと指定して 合計のクエリを作成して結果を確認すると合計が違っていました。 確認の為、集計を取りその明細クエリーをクエリー上でテーブル 指定してみたところ、元の明細クエリーのみの場合とレコード数 がかわっって表示されまました。 クエリーのテーブルにクエリを指定するのはNGなのでしょうか。 何方かなぜそうなるのか、また、正しい方法があれば教えてください。 宜しくお願いします。

  • access クエリにて在庫数を出したい

    お世話になります。 accessにて在庫管理DBを構築しています。 在庫数を出そうとすると、「あいまいな外部結合が含まれているので、SQLステートメントを実行できません。 いずれかの結合を最初に実行するために、第1次結合を実行する分割クエリを作成し、 SQLステートメントにそのクエリを含めてください。」とエラーが出てしまいます。 なにぶん初心者の為、ちんぷんかんぷんです。 ご教授の程よろしくお願い致します。 t_薬剤マスター 薬剤区分ID、薬剤名、包装内容、包装量、単位、薬価 t_店舗 店舗ID、店舗名 q_入庫数の合計 店舗ID、店舗名、薬剤ID、薬剤名、入庫数の合計、小分入庫数の合計、入庫総合計 q_出庫 店舗ID、店舗名、薬剤ID、薬剤名、出庫数の合計 q_在庫 在庫ID、店舗ID、店舗名、薬剤ID、薬剤名、在庫数 とあります。 t_薬剤マスターとt_店舗から、 それぞれのクエリ、(q_入庫、q_出庫、q_在庫)に 「't_薬剤マスター'の全レコードと'q_入庫'の同じ結合フィールドのレコードだけを 含める。」結合を設定しました。 そして下記の様にクエリを作成 フィールド 店舗ID  店舗名    薬剤ID       薬剤名 ____________________________ テーブル t_店舗  t_店舗     t_薬剤マスター  t_薬剤マスター フィールド 在庫数   入庫総合計     出庫数の合計       ____________________________ テーブル q_在庫マスター q_入庫数総合計  q_出庫数合計        フィールド  在庫数: [在庫数]+[入庫総合計]-[出庫数の合計]    ____________________________ テーブル  と作成しました。。。。が実行するとエラーメッセージが出てきてしまいます。 これは結合が悪いと言う事でしょうか? よろしくお願い致しますm(__)m

  • アクセスVBAでの別アクセス呼び出しの記述について

    作成したいテーブルが大きすぎて、2Gをあっという間に超えてしまいます。 なので、別のアクセスMDBも併用しつつ処理を実行しようかと思うのですが、 下記のように書いています。すると、まず、一つ目のDB(VBAを書いているほうのDB)でのtestクエリは実施され、TEST1DBが呼び出されるところまではいくのですが、TEST1DBにのっているtest2というクエリはうごきません。 どのように記述すればよいのでしょうか??ど素人でもうしわけありませんが、 どうぞよろしくお願いします。 Option Compare Database Sub test() DoCmd.OpenQuery "test" fl_name = "MSAccess C:\xx\test1.mdb" Call Shell(fl_name, 1) DoCmd.OpenQuery "test2" End Sub また、あわせて質問なのですが、 テーブル作成クエリなので、「テーブルが削除されます」とかがでます。 自動バッチにしたいので、いちいち確認しないでサクサクと次へ進んでほしいのですが 解決策はあるのでしょうか? よろしくお願いします あと、いつも迷うのですが、、アクセスのフォームとかを書くときに使っているVBAは、 カテゴリー選択にないので、、VisualBasicを選んでいいんでしょうか??

  • アクセスでクロス集計をレポートにする方法

    一応過去質問を調べましたがうまくいかず、よろしくお願いします。 3種類のテーブルをもとに、それぞれについて3種類のクロス集計を行い、 その3つのクエリを一つのクエリにしました。この選択クエリを作る際は、 *をドラッグして全てのフィールドを表示させています。 そのクエリをレコードソースとして、 空のラベル、テキストボックスを必要数置いて以下のようにレポートを作成しましたが、うまくいきません。 どなたか、ご指導ください。 Private Sub Report_Open(Cancel As Integer) Dim db As DAO.Database Dim qd As DAO.QueryDef Dim cnt As Integer Dim fld As DAO.Field Set db = CurrentDb() Set qd = db.QueryDefs(Me.RecordSource) For cnt = 1 To qd.Fields.Count - 1 Set fld = qd.Fields(cnt) Me("Label" & cnt).Caption = fld.Name Me("Field" & cnt).ControlSource = fld.Name Next End Sub

  • Accessのクエリ(テーブルの結合)

    Accessのクエリで以下のようなものを作成したいのですが、SQL文がわかりません。 ↓ tblA,tblB,tblC はそれぞれ同じ項目(AAA,Cnt(AAAの値別カウント数)、日付)を持っています。 tblA,tblB,tblC を全部結合して、日付、AAAでグルーピングしたカウントを取りたいのですが、 どのようなクエリ文になるのでしょうか? また、Oracleでいうunion all関数はないのですか? よろしくお願いします。

  • アクセス  クエリで集計

    テーブルに「ID」、「りんご」、「なし」、「ぶどう」の項目があるとします。 それぞれのIDごとに、りんご」、「なし」、「ぶどう」の代金が異なります。 クエリを作成して、IDごとにりんご、なし、ぶどうの合計金額を表示させるにはどうしたらいいでしょうか? 例えば、  ID   合計金額  1    \1,000 2    \1,500 というようなクエリを作りたいと思っています。 よろしくお願いします(>_<)