私はこのMySQL
クエリを持っています:
SELECT DISTINCT
*
FROM
students s
LEFT JOIN
(SELECT
*
FROM
studentabsences a1
WHERE
(a1.absence_date = '2013-01-28')) a ON a.absence_student_id = s.student_id
LEFT JOIN
(SELECT
*
FROM
studentabsencenotes b1
WHERE
(b1.absence_note_date = '2013-01-28')
GROUP BY absence_note_student_id) b ON b.absence_note_student_id = s.student_id
INNER JOIN
studentdates sd ON sd.student_id = s.student_id
INNER JOIN
coursecategory ctc ON s.student_course_category_id = ctc.category_id
WHERE
'2013-01-28' BETWEEN sd.student_startdate AND sd.student_enddate
ORDER BY s.student_lastname , s.student_firstname
ここで、2013-01-28よりも大きくないWHERE
clause
行を選択するために別のものを追加したいと思いますが、空のフィールドも選択しますsd.student_break_date
例えば:
WHERE '2013-01-28' >= sd.student_break_date
NULL
これは機能しますが、値を持つ行sd.student_break_date
はリストされません。
面倒ですよね?私の質問は次のとおりです。空のフィールドと、日付が 2013-01-28 以下のフィールドを選択するにはどうすればよいですか