sql >> Databasteknik >  >> RDS >> PostgreSQL

Problem med att konstruera where-satsen för att inkludera null/0-värden

Flytta teacher_students.teacher_id = 1 kontrollera från WHERE klausul till den sammanfogade ON klausul.

När ett villkor som refererar till en tabell på höger sida av en LEFT JOIN sätts i WHERE-satsen, avbryts LEFT JOIN och den fungerar som en INNER JOIN .

SELECT count(teacher_students.student_id) AS rcount      <--- changed
     , questions.id 
FROM "questions"
  LEFT JOIN answers 
    ON answers.question_id = questions.id
  LEFT JOIN teacher_students 
    ON teacher_students.student_id = answers.student_id
    AND teacher_students.teacher_id = 1
WHERE questions.test_id = 1

GROUP BY questions.id 
ORDER BY questions.id



  1. Vad exakt gör citattecken runt tabellnamnet?

  2. Så här fixar du "Väljlistan för INSERT-satsen innehåller färre objekt än infogningslistan"

  3. Extrahera en söksträng i sammanhanget

  4. Haversine Fomula med MySQL få närliggande platser