次のデータがあるとします。
Product
IdPk | Name
-------------
guid1 | Printer
guid2 | Oil
guid3 | Etc.
guid4 | Etc..
ProductPart
PartIdPk| ItemId | PartName
-------------------------
guid100 | guid1 | Ink
guid101 | guid1 | Paper
guid102 | guid2 | Automobile Fuel
guid103 | guid2 | Cooking
ProductPartType
TypeIdPk| ItemId | PartId | TypeName
---------------------------------
guid200 | guid1 | guid100 | Cyan < Types of ink
guid201 | guid1 | guid100 | Magenta
guid202 | guid1 | guid100 | Black
guid203 | guid1 | guid100 | Yellow
guid204 | guid1 | guid101 | Photocopier < Types of paper
guid205 | guid1 | guid101 | Envelope
guid206 | guid1 | guid101 | Card
guid207 | guid2 | guid102 | Petrol < Types of automobile fuel
guid208 | guid2 | guid102 | Diesel
guid209 | guid2 | guid103 | Olive < Types of cooking oil
guid210 | guid2 | guid103 | Sunflower
したがって、各製品には 1 つ以上のパーツがあり、各パーツには 1 つ以上のタイプがあります。
製品、その部品、およびそのタイプを選択したいと考えています。何千ものエントリがある可能性があると仮定すると、通常は選択と同時にフィルタリングしたいと思います。これらの 3 つのテーブルは、多くの場合、デカルト製品クエリにつながります。そのシナリオを考えると、「(パーツがインクであるタイプ名) で注文された上位 2 つの製品を教えてください」と同等のクエリを実行する必要があります。一部は料理)」
誰にもアイデアはありますか?よろしくお願いします