Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Porównanie MYSQL przy problemie z połączeniem

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)

lub, odnosząc się do pierwotnego problemu,

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)

(działa tylko wtedy, gdy obie tabele są MyISAM )

Spowoduje to zwrócenie wszystkich nauczycieli, którzy uczą zarówno English i Physics .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jar w zewnętrznych bibliotekach, ale nie można importować w kodzie

  2. Oświadczenie MariaDB LIMIT przynosi więcej niż limit

  3. Błąd SQL:0, Stan SQL:08S01 Błąd łącza komunikacyjnego

  4. Jak za pomocą MySQL mogę wygenerować kolumnę zawierającą indeks rekordu w tabeli?

  5. Najlepsze praktyki dotyczące tworzenia kopii zapasowych MySQL