2016-04-10 13 views
0

nasıl birleştirilir Bu sorgunuz benim programımda var NP veya DN harflerini görürse sorguyu yok saymak istiyorum ama bu sorguyu yazdığımda iyi çalıştı, ancak NP veya DN harflerini yoksaydı .muli veya SQL

Sorgunun NP veya DN harflerini yoksaymasına nasıl izin verebilirim?

SELECT 
    SUM(crd) 
FROM 
    courses 
INNER JOIN 
    student_record ON courses.course_number = student_record.course_number 
INNER JOIN 
    grades ON student_record.grade = grades.letter 
      AND (student_record.grade != 'NP' OR student_record.grade != 'DN') 
WHERE 
    student_record.id = 201102887 

cevap

1

Kullanım NOT IN:

ON student_record.grade = grades.letter AN 
    (student_record.grade NOT IN ('NP' , 'DN') 

senin mantığına düzeltme AND yerine OR kullanmaktır. Mantıksal işlemler özellikle negatiflerle kafa karıştırıcı olabilir. Bu durumda, NOT IN yazmanın ve anlamanın daha kolay olduğunu düşünüyorum.