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

結合の問題に関するMYSQLの比較

    SELECT  t.teacherId, s1.subjectName AS name1, s2.subjectName AS name2, s3.subjectName AS name3
    FROM    teacherProfile t
    LEFT JOIN
            subjects s1
    ON      s1.subjectId = t.subjectOne 
    LEFT JOIN
            subjects s2
    ON      s2.subjectId = t.subjectTwo
    LEFT JOIN
            subjects s3
    ON      s3.subjectId = t.subjectThree
    WHERE   'English' IN (s1.subjectName, s2.subjectName, s3.subjectName)
    

    、または、元の問題を参照して、

    SELECT  t.teacherId, s1.subjectName AS name1, s2.subjectName AS name2, s3.subjectName AS name3
    FROM    teacherProfile t
    LEFT JOIN
            subjects s1
    ON      s1.subjectId = t.subjectOne 
    LEFT JOIN
            subjects s2
    ON      s2.subjectId = t.subjectTwo
    LEFT JOIN
            subjects s3
    ON      s3.subjectId = t.subjectThree
    WHERE   MATCH(s1.subjectName, s2.subjectName, s3.subjectName) AGAINST ('+English +Physics' IN BOOLEAN MODE)
    

    (両方のテーブルがMyISAMの場合にのみ機能します )

    これにより、両方のEnglishを教えるすべての教師が返されます およびPhysics



    1. MySQLでテーブルをピボットする方法

    2. PDOを使用した単一行、単一列のフェッチ

    3. MySQL INSERT IF(カスタムifステートメント)

    4. SSRSレポート定義はサーバーよりも新しい