さて、レオニードは正しいテーブル結合ですあなたが必要なものです。 「SQLJOIN句は、2つ以上のテーブル間の共通フィールドに基づいて、それらのテーブルの行を結合するために使用されます。」 - http://www.w3schools.com/sql/sql_join.asp そのような単純な。テーブルAとテーブルBの場合、共通フィールドはShopLotであり、テーブルBとCの場合、ContainerRefはContainerIDと一致します。
それを段階的にトレイに入れましょう。
そこで、最初に表示したいテーブルから列を選択しましょう
SELECT Table_A.ID, Table_A.UnitTypeID, Table_A.ShopLot, Table_B.ID, Table_B.UnitTypeID,
Table_B.ContainerRef, Table_C.ID, Table_C.PartTypeID
前に述べたように、共通フィールドであるため、ShopLotとContainerRefは1つだけであり、同じ日付を1行に2回表示する必要はありません。
次のステップは、FROMがこの列を選択する場所を確認することです。このステップでは、この個別のテーブルの行を結合し、基本的にselectステートメントのこのすべての列を含む1つのテーブルを作成します。このようになります
FROM Table_A
INNER JOIN Table_B
ON Table_A.ShopLot = Table_B.ShopLot
INNER JOIN Table_C
ON Table_B.ContainerRef = Table_C.ContainerId
ここで何が起こったのか。最初に、SELECT(something)FROM Table_Aと(inner)をTable_Bと結合すると言いました...次に、この2つのテーブルを(何に基づいて)結合するかという質問がありますか?そして、その答えはONTable_A.ShopLotフィールドとTable_B.ShopLotフィールドです。 Table_Aから行を取得し、ShopLotフィールドの値を確認し、Table_Bでその値(存在する場合)を持つすべての行を見つけて結合します。 Table_Cは、フィールドの名前のみが変更されるのと同じ方法で結合されます。
3番目のステップよりもWHERE句を作成することです。これはおそらく最も簡単な部分です。大きなテーブルが1つあり、必要なものを言うだけでよいからです
WHERE Table_A.UnitTypeID='PAD' AND Table_B.UnitType.ID='FROG'
AND Table_C.PartTypeID='FLIES'
以上です。できるだけシンプルにしようと思いました。オンラインで入浴者の説明がたくさんあると思いますが、ちょっと検索するだけです...
完全なコードは次のとおりです:
SELECT Table_A.ID, Table_A.UnitTypeID, Table_A.ShopLot, Table_B.ID, Table_B.UnitTypeID,
Table_B.ContainerRef, Table_C.ID, Table_C.PartTypeID
FROM Table_A
INNER JOIN Table_B
ON Table_A.ShopLot = Table_B.ShopLot
INNER JOIN Table_C
ON Table_B.ContainerRef = Table_C.ContainerId
WHERE Table_A.UnitTypeID='PAD' AND Table_B.UnitType.ID='FROG'
AND Table_C.PartTypeID='FLIES'
これが少しお役に立てば幸いです。最初は複雑ではありません。例として2つのテーブルがある方が良いでしょうが、それはそれが何であるかです。 GL