sql >> Databáze >  >> RDS >> Mysql

Porovnejte MYSQL při problému spojení

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)

nebo, s odkazem na váš původní problém,

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)

(funguje, pouze pokud jsou obě tabulky MyISAM )

Tím se vrátí všichni učitelé, kteří učí jak English a Physics .



  1. Chyba systému Android:Tuto operaci nelze provést, protože fond připojení byl uzavřen

  2. Po chvíli ztratí připojení k MySQL a znovu se nepřipojí

  3. Návrh databáze Mysql pro více adres zákazníka a výchozí adresu

  4. PostgreSQL EXPLAIN – Jaké jsou náklady na dotaz?