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

値が変数と一致する特定の行に対してのみ結合します

    求人や興味に関係なく、最初のセットのすべての学生を見たいように見えるので、他のテーブルに左に参加する必要があるようです。

    もしそうなら...「Interest」テーブルと「Offers」テーブルの両方に、学生IDが単一要素インデックスであるか、複合インデックスの最初のインデックスであるインデックスがあることを確認してください。

    select STRAIGHT_JOIN
          ORS.Student_ID,
          ORS.First_Name,
          ORS.Last_Name,
          ORS.Class,
          ORS.Rank,
          JI.Employer_Interest,
          JI.Interest,
          OFR.Employer_Offer
       from 
          OriginalResultSet ORS
    
             LEFT JOIN Interest JI
                ON ORS.Student_ID = JI.Student_ID
               AND JI.Employer_Interest = YourPHPVariable
    
                LEFT JOIN Offers OFR
                   on JI.Student_ID = OFR.Student_ID
                  AND JI.Employer_Interest = OFR.Employer_Offer
    

    「NULL」が雇用主の関心、関心、オファーにつながるのを防ぐために、(左側の結合の3つの列すべてに対して)

    などのCoalesce()呼び出しでそれらをラップできます。
    COALESCE( JI.Employer_Interest, " " ) Employer_Interest
    


    1. PostgreSQL、Npgsqlが42601を返す:$1またはその近くで構文エラー

    2. ディレクトリ内のファイルのリストを見つける際の問題

    3. Excelのダウンロードが188kbスタックしました

    4. コンストラクターSQLiteOpenHelper()は未定義です