• 締切済み

アクセス 2つの条件で差分を取る場合

■受注データが下記のような形で膨大なものがあります。 納品月:9月、10月、11月・・・ 商品名:A、B 担当者ID:1、2、3、4・・・ 顧客名:I,II、III、IV・・・ 上記は、全ての受注データが入っているため、9月に顧客IがAを買ったら、それが1行に入っており、 更にBを買っていれば、それが別に1行にはいっています。 上記のようなデータから、月毎に、商品Aだけを買った顧客、商品A,Bを両方買った顧客、商品Bだけを買った顧客、の3つのテーブルにしたいと考えています。 方法としては、 (1)商品A,Bのテーブルを分けて作る (2)商品AB両方買った顧客は、結合プロパティで、商品名同士、納品月同士、をそれぞれ結ぶ ・・・商品Aのみを買った人、もしくは商品Bのみを買った人、を抽出することは出来るのでしょうか? 納品月で一度全てを切ってから、それぞれの差分を取る、という方法しか思い浮かびませんが、 データが3年分あるので大分骨が折れます。 他に簡単な方法があれば、教えて下さい!

みんなの回答

noname#217196
noname#217196
回答No.5

回答#1への補足質問に対してですが、クエリウィザードはテーブルのほかにクエリ結果も対象にできるので、それで月フィールドの値が一致するものを指定できます。

回答No.4

 確かに、私は、図のように区分は1、2、3と質問内容に沿って発生させています。でも、そのやり方は示していません。なぜなら、それは正答ではないと感じたからです。 <しかし、何か変では・・・>について補足します。  1、商品Aだけを買った顧客  2、商品Bだけを買った顧客  3、商品A,Bを両方買った顧客 と分類したいとの質問。 >実際は、商品名は100個以上あります・・・ が、実際のデータは質問とは違う。多分、「そのようだろう」と予想していました。 >大きくわけると2つに区分されるため・・・ これは、商品マスターに列[科目]ないし列[品種]が存在するってことでしょうか?仮に、そうであれば、  1、[科目]Aだけを買った顧客  2、[科目]Bだけを買った顧客  3、[科目]A,Bを両方買った顧客  9、いずれにも該当しない顧客 と分類したいという質問になります。 アドバイス:質問内容を回答しやすく整理されたし! PS、先の私の回答の主旨は・・・。  クエリーにて[科目]Aの購買客か否かの真偽の値を持つ列を発生させることはさほどシンドイことではない。同様に、[科目]Bの購買客か否かの真偽の値を持つ列を発生させることも簡単。先ずは、この誰でも手の届くであろうことを達成するのが良いのではというのが私の回答の主旨。そうして、データを分類する指標を、まず、目に見える形にした方がミスが少ない。クエリの機能を駆使する必要なんてさらさらない。誰でもやれる簡単なやり方でやるのが一番よい。  1980年代であれば<誰でもやれる簡単なやり方>はダメの象徴。今は違います。ベテランならではの知と経験を感じさせるやり方こそがダメの典型。先の私の回答の主旨は、「簡単でやっていることが見える素人でもできる方法を模索されたし!」をちょっと示しただけ。

回答No.3

失礼、画像が間違っていました。

回答No.2

私なら、単純にクエリで区分列を発生させます。 1 = A 2 = B 3 = A & B 図は、そういうクエリの実行例です。 <しかし、何か変では・・・> 実際問題として、商品名が2つだけという受注データがあるんでしょうか?

noname#206837
質問者

補足

ご回答ありがとうございます。 この区分を発生させる、というのはどのようにロジックを設定すれば良いのでしょうか? 初心者ですみませんが、教えて頂けますと幸いです。 実際は、商品名は100個以上ありますが、大きくわけると2つに区分されるため、(果物、野菜などのように)、こちらは2つと考えて頂いても大丈夫かと思います。

noname#217196
noname#217196
回答No.1

商品Aだけ買った人は、商品Aを買った人から商品A・Bとも買った人の差分をとれば抽出できます。商品Bだけ買った人も同様です。 テーブルをわけて作らなくてもクエリだけで十分処理できます。

noname#206837
質問者

補足

同月を設定しないといけないのですが、こちらはどのように設定すれば良いのかわかりますでしょうか? 初心者ですみませんが、教えて頂けますと大変大変助かります。 どうぞよろしくお願い致します。

関連するQ&A