0

アクセスするのはかなり初めてで、2 つのテーブルをセットアップする方法について洞察が必要です。私は、機器の調達を追跡する業務を行っています。本体、数量、メーカー/モデル情報、およびその他の購入の詳細が記載されたテーブルが 1 つあります。すべてのメイン ユニットに固有の番号が関連付けられています。たとえば、番号が 12345 であり、常に 12345 であるテレビを注文したいとします。現在、アクセサリを個別に追跡する必要があり、別のアクセサリ テーブルを用意するのが最善であると考えています。しかし、私が直面している問題は、アクセサリーの数と数量が異なる可能性があるため、数字がずれていることです. クエリまたはレポートを実行すると、メイン ユニットの複数のレコードが表示されます。

このように行を個別にリストするクエリが必要です。

 ID    Desc    Qty    Type
12345   TV      3   Main Unit 
12345   Cable   3   Accessory 
12345   Mount   2   Accessory 

代わりに、最初の行が 2 回リストされているため、合計 6 つのユニットがあるように見えます。

12345   TV   3   Accessory   Cable   3 
12345   TV   3   Accessory   Mount   2 

それは簡単な修正かもしれませんが、私は脳のおならをしているだけなのか、それともアクセサリーをメインテーブルに置くべきなのか、よくわかりません. アドバイス/洞察をいただければ幸いです。

4

2 に答える 2

0

上で述べたように、ここでは実際に多対多の関係を扱っています。その結果、「横断歩道」テーブルが必要になります。設定方法は次のとおりです。

1) TV テーブルには、TVID (主キー、一意)、TV 名、数量、製造元などがあります...

2) アクセサリ テーブルには、アクセサリ ID (主キー、一意)、アクセサリ名、数量、製造元などがあります...

3) Crosswalk テーブルには、主キーのない TVID と AccessoriesID があります。ここに含めることができるすべての TVID と AccessoriesID の組み合わせを入力します。例:

TVID         AccessoryID
12345         666
12345         777
12345         888
55555         777
55555         888

12345 が TV1 で、55555 が TV 2 だとします。TV1 はアクセサリ番号 666、777、888 を使用でき、TV2 はアクセサリ番号 777 と 888 を使用できることがわかります。

TV テーブルから Crosswalk テーブルへの 1 対多。アクセサリ テーブルからクロスウォーク テーブルへの 1 対多。

ブーヤー!それはあなたの問題を解決するはずです。その後、クエリを機能させる方法がわからない場合は、お知らせください。残りの方法を案内できるかどうかを確認します.

于 2013-10-23T15:22:54.610 に答える