![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
3つのテーブル間でリレーションを組んでいる場合のクエリについて教えてください。
言葉では説明し辛いので表記方法のルールを・・・
<ルール>
テーブル→A、B、C
レコード番号→1、2、3・・・
Ex.テーブルAのデータ番号1 → 「A1」と表記
テーブルCのデータ番号3 → 「C3」と表記
<前提>
テーブルA、B、Cのそれぞれに「顧客ID」というフィールドがあり、これを根拠にリレーションをとっています。A、B、Cは「顧客ID」と言う点ではつながりがありますが、BとCとは「顧客ID」という以外につながりがりがありません。
<出力したいレポートの形>
大見出しをA1、A2、A3とした上で、A1に関係するBテーブルのデータ、Cテーブルのデータを集めたいのです。
この場合、BとCのデータは単純に小分類としてそれぞれが素直にAに関連するものだけがおかれるだけにしたいです(BとCを絡めたたくない)。
具体的には、
[A1]
--[B1 B3 B5]
--[C2 C5 C7]
[A2]
--[B2 B4]
--[C1 C8]
[A3]
--[B7 B8]
--[C3 C4 C6]
というふうにしたいのですが・・・
実際には、
[A1]
B1 C2
B1 C5
B1 C7
B3 C2
B3 C5
B3 C7
・
・
・
という感じでBとCも絡んだ形になってしまいます。
そのため、クエリのデータを見てもものすごい量になっています。
リレーションの組み方で解決できるものなのでしょうか?それとも、クエリをAとB、AとCのものにそれぞれ分けて、レポートも別々に出力するしかないのでしょうか?出来れば1つの表にしたいのですが・・・
No.2ベストアンサー
- 回答日時:
こんにちわ。
クエリを
(1)AとB
(2)AとC
のものにわけてできるのであれば、もうひとつ新しいクエリを作ります。
そのクエリをUnionクエリにして、
Select * From クエリ(1)
Union
Select * From クエリ(2)
と記載すれば、2つのクエリが1つの表にできます。
ですが、Unionクエリを使うのであれば、
クエリ(1)とクエリ(2)の表示フィールド名が全く同じ数、同じ名前でなければいけません。
また、上記のUnionクエリだとクエリ(1)とクエリ(2)で全く同じ結果があった場合、
1つのレコードとして取られてしまうので、別物として扱いたいのならSelectのUnion部分をUnion All と記載してUnionクエリを作成してみてください。
No.1
- 回答日時:
><ルール>
>テーブル→A、B、C
>レコード番号→1、2、3・・・
>Ex.テーブルAのデータ番号1 → 「A1」と表記
> テーブルCのデータ番号3 → 「C3」と表記
「レコード番号」「データ番号」の意味が良く分かりません。
できれば、「テーブル名」「フィールド名」を具体的に示してもらえませんか?
(もちろん架空のものでも結構です。)
><前提>
>テーブルA、B、Cのそれぞれに「顧客ID」というフィールドがあり、
>これを根拠にリレーションをとっています。A、B、Cは「顧客ID」と言う点ではつながりがありますが、
>BとCとは「顧客ID」という以外につながりがりがありません。
・・・という事は、BとCも「顧客ID」と言う点でつながりがあるんですよね。
A,B,Cのつながりと、BとCのつながりの“違い”は何でしょう。
><出力したいレポートの形>
>大見出しをA1、A2、A3とした上で、A1に関係するBテーブルのデータ、
>Cテーブルのデータを集めたいのです。
>この場合、BとCのデータは単純に小分類としてそれぞれが素直にAに
>関連するものだけがおかれるだけにしたいです(BとCを絡めたたくない)。
できればどのようなクエリーを作ったのか、具体的に示していただければ
解凍もしやすいと思うのですが。
>リレーションの組み方で解決できるものなのでしょうか?
>それとも、クエリをAとB、AとCのものにそれぞれ分けて、レポートも別々に
>出力するしかないのでしょうか?出来れば1つの表にしたいのですが・・・
クエリをAとB、AとCのものをそれぞれ作成し、さらにこの2つのクエリーを
元にクエリーを作成してみてはどうでしょう。
有難う御座います。
質問の仕方が具体性に欠けていてすみませんでした。
クエリを2つ作成して、Unionクエリの方法をとってみようと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- その他(データベース) accessについて 2 2022/05/31 16:58
- Access(アクセス) ACSESS初心者です マンション管理をACCESSで出来ないかとチャレンジしています。 リレーショ 3 2022/10/08 11:45
- Excel(エクセル) EXCEL 行内のデータを2行に分けて、表を作り直したいのです。教えてください。 5 2023/06/25 14:00
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(データベース) IT用語について質問です。 以前ITパスポートの試験を受けた際にデータベースが何の集まりかについての 2 2022/12/10 12:29
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- SQL Server AccessのInsertクエリのあとつづけてDeleteクエリを行いたいがSQLでどう書いたらいい 3 2023/05/27 14:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クエリのデータをテーブルに入...
-
アクセス 項目毎にデータを横...
-
デザインビューにてテーブルが...
-
アクセスのクエリでSplit関数は...
-
クロス集計クエリの結果をテー...
-
アクセス:クエリの結合とリレ...
-
ACCESSで行数指定(5万行目~8...
-
Access「レコードが削除されま...
-
Accessのクエリで、抽出条件で…...
-
ACCESSでの重複レコードの削除
-
access インポート時、既にある...
-
ハイパーリンクの抽出・印刷に...
-
Accessで注文書を作成したいです。
-
テーブルへのデータ追加の元と...
-
accessでクエリの結果だけをリ...
-
Accessでテーブルやクエリのリ...
-
ACCESSのリレーション
-
教えてください! アクセスのac...
-
アクセスで新しいレコードの追...
-
Access 末尾に0を追加したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クロス集計クエリの結果をテー...
-
アクセス 項目毎にデータを横...
-
クエリのデータをテーブルに入...
-
Access「レコードが削除されま...
-
アクセス:クエリの結合とリレ...
-
access インポート時、既にある...
-
accessでクエリの結果だけをリ...
-
教えてください! アクセスのac...
-
デザインビューにてテーブルが...
-
アクセスのクエリでSplit関数は...
-
更新不可能なクエリに対して更...
-
ACCESSで行数指定(5万行目~8...
-
access テーブル作成クエリでテ...
-
Accessのクロス集計→テーブル作...
-
ACCESS テーブル作成の日付付与...
-
ACCESSでの重複レコードの削除
-
アクセス クロス集計クエリ→テ...
-
アクセスで新しいレコードの追...
-
ACCESS2000 クエリをテーブル化...
-
Access2010「クエリが複雑すぎ...
おすすめ情報