###前提・実現したいこと
はじめまして。Ena3850と申します。Accessにて悩んでいるので助けていただけると幸いです。
早速ですが、
どちらも同じようなデータが入っているAデータとBデータがございます。
Aが古いデータ、Bが新しいデータという形になります。
AとBが同じ商品のものだけを抽出して、Bの一部のデータ(仮に在庫情報とさせて下さい。)データをAに置き換えたいと思っております。
ここでいつもどおりにクエリで、AとBを両方のテーブルの結合フィールドが同じ行だけを含めるでつなぎ、在庫情報以外をAのデータを引っ張ってきて、在庫情報だけをBのデータで吐き出すように設定。
これだけでは、ダメなのでしょうか…? 同じデータが複数吐き出されてしまい、グループ化を試してみても上手く行かず行き詰まってしまいました。初心者過ぎて申し訳ないのですが、ご教授いただけるとありがたいです。
よろしくお願いいたします。
###データの内容
商品コードが1つに対して、属性1コード・属性2コードは複数になります。1つの商品コードに対して、各属性コードが複数ぶら下がっている形になります。ですが、各属性コードそれぞれに商品コードが入っているのでAデータとBデータの多重度は1:1だと思います。
###現状のSQLビュー(当方、SQLは無知でございます。ビューの原文コピーです)
SELECT A.商品コード, A.属性1コード, A.属性2コード, B.在庫数量
FROM A INNER JOIN B ON A.商品コード = B.商品コード
GROUP BY A.商品コード, A.属性1コード, A.属性2コード, B.在庫数量;
これを実行すると
商品コード 属性1コード 属性1名 属性2コード 属性2名 在庫数量
m-145872 01 one 01 【☆】black<br>(col.99) 0
m-145872 01 one 01 【☆】black<br>(col.99) 6
m-145872 01 one 01 【☆】black<br>(col.99) 8
m-145872 01 one 01 【☆】black<br>(col.99) 49
m-145872 01 one 01 【☆】black<br>(col.99) 187
m-145872 01 one 02 red<br>(col.75) 0
m-145872 01 one 02 red<br>(col.75) 6
m-145872 01 one 02 red<br>(col.75) 8
m-145872 01 one 02 red<br>(col.75) 49
m-145872 01 one 02 red<br>(col.75) 187
・・・以下他の色で同じことが繰り返されています。これを
###本当は下記データを作りたいです。
商品コード 属性1名 属性コード 属性2コード 属性2名 在庫数量
m-44135 01 one 01 black<br>(col.99) 18
m-44135 01 one 02 red<br>(col.75) 6
m-44135 01 one 03 navy<br>(col.39) 8
m-44135 01 one 04 green<br>(col.49) 49
m-44135 01 one 05 black<br>(col.99) 187
m-44135 01 one 06 beige<br>(col.81) 0
1つのコードに対して1つのサイズ・1つのカラー・在庫数のような形にしたいと思っています。
###発生している問題・エラーメッセージ
同じデータが抽出され、グループ化も出来ず、在庫情報が繰り返し入力されてしまう。
###試したこと
グールプ化や1つ1つやりたいことを個別にクエリを組んで試してみたが、最終結果は同じでした。
お手数ですが、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー