図2出荷実績表のレコード様式
------------------------------------------
伝票番号|構成部品番号|構成部品名|出荷個数|
------------------------------------------
図3構成関係表のレコード様式
-----------------------------------
部品セット番号|構成部品番号|構成数|
-----------------------------------
図4部品関係表のレコード様式
-------------------------
|構成部品番号|構成部品名|
-------------------------
図5部品セット関係表のレコード様式
-------------------------------------
伝票番号|部品セット番号|部品セット数|
-------------------------------------
上記の表から図3,4,5を用いて、図2の表をSQL文より抽出するときに
SELECT 伝票番号 , 部品関係表.構成部品番号 , 構成部品名 ,
部品セット数 * 構成数 AS 出荷個数
FROM 構成関係表 , 部品関係表 , 部品セット関係表
WHERE 構成関係表.部品セット番号 = 部品セット関係表.部品セット番号
AND 構成関係表.構成部品番号 = 部品関係表.構成部品番号
を使うことになります。
ここで、ANDの部分になりますが、これについてはORになるのではと思っております。
ANDで取ると、各表に部品セット番号と構成部品番号の項目がなければ図2は抽出されないと思われます。
ORでは部品セット番号と構成部品番号の項目がいずれか一方にあれば、結合できるため
SQLが抽出されると思われます。
以上、ご教授の程お願い致します。
No.4ベストアンサー
- 回答日時:
No.2、No.3です。
回答します。> (1)構成関係表の部品セット番号と部品セット関係表.部品セット番号を結合。
> かつ(AND)
> (2)構成関係表の構成部品番号と部品関係表の構成部品番号を結合
が混乱の元です。
「結合」ではなく「比べて等しい」と読む必要があります。
結合はこの前に終わっています。
細かく書くと次の表を作ります。ちょっと長いですがここが結合です。
構成関係表.部品セット番号|構成関係表.構成部品番号|構成関係表.構成数
|部品関係表.構成部品番号|部品関係表.構成部品名
|部品セット関係表.伝票番号|部品セット関係表.部品セット番号|部品セット関係表.部品セット数|
次に
構成関係表.部品セット番号 = 部品セット関係表.部品セット番号 と
構成関係表.構成部品番号 = 部品関係表.構成部品番号
が同時に「成立」している行を抽出するのです。
やっとわかりました!!
本当に親切なコメントありがとうございます。
ER図とこのコメントを交えると、一発でわかります。
本当にありがとうございました。
No.5
- 回答日時:
#4の方の回答がすべてです。
ER図とか書いてみたらどうでしょう?
よくわかると思いますよ。
リレーショナルが理解できれば一発です
あと、図2の表を抽出するSQL文のSELECT句
『SELECT 伝票番号 , 部品関係表.構成部品番号 , 構成部品名 , 部品セット数 * 構成数 AS 出荷個数』
に、それぞれの項目の抽出元テーブル名をきちんと書けばなおわかりやすいです。
とにもかくにも、ER。
これがきちんと理解できれば
「一つの表に、「部品セット」と「構成部品番号」の
両方がなければ、紐付けができないと思われます。」
という疑問は生まれないはずです。
No.3
- 回答日時:
No.2です。
回答します。> ここで使うANDは論理積の意味で使われているものでは
> ないのでしょうか??
論理積と考えてもいいですし、単に「かつ」と考えてもいいでしょう。
要は自分の判りやすい方で理解すればいいですね。
> 自分的には内部結合して、抽出されるイメージが
あるのですが、
> それとは違うのでしょうか?
ハイ。6000行の例はまさに3表を内部結合してその中から
where条件に合致するものを抽出するイメージです。
この回答への補足
親切なコメントありがとうございます。
>各表の行数を10、20、30とすると実際には各>表を横につないだ10×20×30=6000行の>レコードが作られこの中からwhere文に該当する行が>選択されると考えて下さい。
イメージとしてはわかります^^
どうも、自分の中では混乱しています。
WHERE 構成関係表.部品セット番号 = 部品セット関係表.部品セット番号
AND 構成関係表.構成部品番号 = 部品関係表.構成部品番号
上記のSQLは
(1)構成関係表の部品セット番号と部品セット関係表.部品セット番号を結合。
かつ(AND)
(2)構成関係表の構成部品番号と部品関係表の構成部品番号を結合
という意味になり、構成関係表に紐つけられるという
結果になります。
自分は(1)と(2)でAND(論理積)を取ることになり、
(1),(2)で共通化する箇所しか取れないため、
紐つけができないと思われます。
むしろ、(1)or(2)であれば、共通項目以外の箇所が
取れると思われます。
内容がごちゃごちゃになっていますが、
再度、ご教授の程お願い致します。
No.2
- 回答日時:
ANDでいいですよ。
最初の等式で構成関係表と部品セット関係表がくくりつけられ、次の等式で構成関係表と部品関係表がくくり付けられます。
したがって「友達の友達は皆友達」で3表が全て括り付けられます。
各表の行数を10、20、30とすると実際には各表を横につないだ10×20×30=6000行のレコードが作られこの中からwhere文に該当する行が選択されると考えて下さい。
この回答への補足
ここで使うANDは論理積の意味で使われているものでは
ないのでしょうか??それとも、全く異なるものに
なるのでしょうか?
自分的には内部結合して、抽出されるイメージが
あるのですが、それとは違うのでしょうか?
No.1
- 回答日時:
このWHERE句はANDで合ってます。
図2で抽出したいのは
「伝票番号」「構成部品番号」
を紐つけているデータでしょう。
つまり、伝票が発行されていない構成部品のデータはいらない、ということ。
もしORにすると
・「伝票番号」が空で「構成部品番号」にだけ値がある
・「伝票番号」がにだけ値があり「構成部品番号」が空
というデータが発生する可能性があります。
図2で要求しているデータが、
1.『構成関係表』を基データとし
2.伝票が発行されいている部品の
3.「構成部品番号」「構成部品名」「出荷個数」
を求めている、
ということが理解できれば、ORではダメな事が理解できると思います。
この回答への補足
WHERE 構成関係表.部品セット番号 = 部品セット関係表.部品セット番号
AND 構成関係表.構成部品番号 = 部品関係表.構成部品番号
上記部分は共通項目を結合して、表を抽出していると
思われますが、ここで使う「AND」は論理積として
使われると思われるので、
一つの表に、「部品セット」と「構成部品番号」の
両方がなければ、紐付けができないと思われます。
以上、宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- その他(悩み相談・人生相談) スティングレー 部品 1 2023/03/23 00:54
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- その他(データベース) 伝票番号、品番、在庫としてマクロでもAccessでもデータ表を作りたいのですが、ご指導お願いします 1 2022/11/13 23:48
- 車検・修理・メンテナンス ekスポーツターボのウォーターポンプを社外品で交換しようと思うのですが、ディーラーの見積もりに表示さ 1 2022/05/08 13:38
- その他(Microsoft Office) 同じ番号に並び替え 1 2022/10/21 22:37
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- 数学 M種類の部品からN種類の部品を抽出する効率的なアルゴリズム 2 2022/04/22 16:51
- 工学 発電機の効率について 3 2023/02/25 17:53
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
関連するカテゴリからQ&Aを探す
医師・看護師・助産師
薬剤師・登録販売者・MR
医療事務・調剤薬局事務
歯科衛生士・歯科助手
臨床検査技師・臨床工学技士
理学療法士・作業療法士・言語聴覚士
臨床心理士・心理カウンセラー・ソーシャルワーカー
介護福祉士・ケアマネージャー・社会福祉士
弁護士・行政書士・司法書士・社会保険労務士
フィナンシャルプランナー(FP)
中小企業診断士
公認会計士・税理士
簿記検定・漢字検定・秘書検定
情報処理技術者・Microsoft認定資格
TOEFL・TOEIC・英語検定
建築士
インテリアコーディネーター
宅地建物取引主任者(宅建)
不動産鑑定士・土地家屋調査士
マンション管理士
電気工事士
美容師・理容師
調理師・管理栄養士・パティシエ
シェフ
保育士・幼稚園教諭
教師・教員
国家公務員・地方公務員
警察官・消防士
その他(職業・資格)
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
集計した数字の誤りを何と言い...
-
労働保険事務組合に加入してい...
-
はま寿司の監視カメラ
-
性格適性検査で意図が分からな...
-
3.75時間が3時間45分ってことは...
-
Googleフォームのアンケートに...
-
変数置き換えにつきまして
-
1-プロパノールと2-プロパノー...
-
-π<θ≦πと0<θ≦πは同じですか?教...
-
「述べる」と「論じる」
-
1molの塩酸を0.01molに希釈は可...
-
スナック(ラウンジ)のオーナー
-
教えてください! 2の8乗+2の1...
-
f(x)がxの整式で、任意の実数...
-
値入ミックスについて
-
Pマーク取得のための社内テスト
-
ある三次関数f(x)が極値を持た...
-
ESで『スペースにあなた自身...
-
次の問題を分かりやすく教えて...
-
Web上(インターネット)で、初...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
この表をどう思いますか? http...
-
集計した数字の誤りを何と言い...
-
はま寿司の監視カメラ
-
自明な関数従属について
-
PMBOKでいうプロジェクトリーダ...
-
仮想記憶システムの問題です
-
平成19年度 春期 午後問02について
-
MACアドレスで・・・世界で一つ...
-
線形計画法の解き方について
-
労働保険事務組合に加入してい...
-
性格適性検査で意図が分からな...
-
3.75時間が3時間45分ってことは...
-
先日、宿題であかつきという会...
-
Googleフォームのアンケートに...
-
下記現代文の問題です。 旅行ビ...
-
Excelについて
-
スナック(ラウンジ)のオーナー
-
私は偏差値44の商業高校に行き...
-
このような媒介変数の問題で、x...
-
売上に対して直接かかった費用...
おすすめ情報