sql >> データベース >  >> RDS >> Mysql

いくつかのテーブルのそれぞれの間でテストする方法は?

    さて、レオニードは正しいテーブル結合ですあなたが必要なものです。 「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



    1. JDBIの@BindBeanは、INSERT中にBeanクラスで名前付きパラメーターを検出しません

    2. MySQLのROW_NUMBER()

    3. 今週の注文テーブルからレコードをプルします

    4. VARCHAR2を数値に変換する