- ベストアンサー
アクセスのクエリの作成について
アクセス初心者で初歩的な質問で申し訳ございませんが、ご回答をお願いいたします。 テーブル1に 支店名|郵便番号|住所 テーブル2に 支店名|正社員数 テーブル3に 支店名|パートタイマー数 ※パートタイマーが0の支店のデータは入っていません。 この3つのテーブルから、 支店名|郵便番号|住所|正社員数|パートタイマー数 の入ったクエリを作りたいのです。 テーブル3にはパートタイマーが0の支店があり、その支店も0として表示させて、 支店の絶対数は存在させたいのですが、何度やっても支店の数が減少してしまいます。 方法をご教示いただきますよう。 お願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
うまくクエリは作れましたか? 初心者さんにSQLビューなんて説明しても分からないのでは? (1)クエリ作成画面で、新規作成にして、テーブル1、2、3を表示する。 (2)このときテーブル1と2、テーブル1と3の支店名が線で結ばれていることを確認する。 (3)線で結ばれていない時は、テーブル1の支店名をドラッグしてテーブル2(3)の支店名の上に ドロップすると線で結ばれます。 (4)テーブル1と3の支店名を結ぶ線の上で右クリックし、現れたウインドウの「結合プロパティ」を選ぶ。 (5)「テーブル1の全レコードとテーブル3の同じ結合フィールドのレコードだけを含める」 にチェックを入れる。 (6)OKを押すと、支店名間をつなぐ線がテーブル1からテーブル3に向かう矢印になる。 これでクエリビューに切り替えれば、空のレコードも消えずに表示されるはずです。
その他の回答 (1)
- 30246kiku
- ベストアンサー率73% (370/504)
以下が基本となるクエリのSQLビューとなります。 SELECT テーブル1.支店名, テーブル1.郵便番号, テーブル1.住所, テーブル2.正社員数, テーブル3.パートタイマー数 FROM (テーブル1 INNER JOIN テーブル2 ON テーブル1.支店名 = テーブル2.支店名) LEFT JOIN テーブル3 ON テーブル1.支店名 = テーブル3.支店名; ※ テーブル3にない支店名のパートタイマー数は空白となります。 0とするには以下の部分を変更してみてください。 テーブル3.パートタイマー数 ↓ IIF(IsNull(テーブル3.パートタイマー数),0,テーブル3.パートタイマー数) AS パートタイマー数
お礼
30246kiku様 ありがとうございます。 早速試してみます。 netnet1008
お礼
okky0707さま ご回答ありがとうございました。 お礼が遅くなり申し訳ございません。 SQLビューとは?というところだったので、たいへん助かりました。 教えていただいた方法でも試してみたのですが、テーブルが6つというのはだめなのでしょうか。 エラーがでてしまいました。 どういったエラーが出たか、この場でお伝えすれば良いのでしょうが、現在確認できない状態におり申し訳ございません。 netnet1008