Я хочу поставить условие case внутри where, то есть если semester column
второй таблицы является нулевой, мне нужно отфильтровать столбцы, где semester is null
. Если нет, мне нужно отфильтровать данные в другом условии.case statement внутри where clause server
// если семестр имеет нулевое значение, мне нужен запрос, чтобы быть похожими на это:
select * from tbl_courses tc
left join tbl_exams te on tc.courseID = te.courseID
where te.gradeID=10 and
te.semester is null
// если семестр не равно нуля, запрос должен быть
select * from tbl_courses tc
left join tbl_exams te on tc.courseID = te.courseID
where te.gradeID=10 and
te.semester is null
Для это требование, как я могу написать один запрос из самого sql, как показано ниже:
select * from tbl_courses tc
left join tbl_exams te on tc.courseID = te.courseID
where te.gradeID=10 and
(case when te.semester is null
then te.semester is null
else te.semester = tc.semester END)
В любом случае это не right.Please помочь мне
Можете ли вы указать, что вы хотите? Я не сразу понял. Но я уверен, что могу дать вам простой ответ. – Ionic
@Ionic \t Если te.semester имеет значение null, мне нужно выбрать данные, где te.semester имеет значение null.Если он не является нулевым, мне нужно выбрать данные, где te.semester = tc.semester – Techy