【发布时间】:2018-04-11 15:29:03
【问题描述】:
我有以下查询,我想排除“否”值。我想包括 N/A、Yes 和 null。 “No”、“Yes”、“N/A”和“null”是此列中的唯一值。当我运行查询时,它不会返回空值,但会返回“N/A”和“Yes”。
select s.schoolid as "School Code",
sch.name as "School Name",
s.student_number as "Student Id",
s.lastfirst as "Name",
s.gender as "Gender",
s.grade_level as "Grade",
s.street as "Street",
s.city as "City",
s.state as "State",
s.zip as "Zip",
s.home_phone as "Home Phone"
from u_students u
left join students s on u.studentsdcid = s.dcid
left join schools sch on s.schoolid = sch.school_number
where s.grade_level in ('11','12')
and s.enroll_status = '0'
and U.Scs_Perm_Share_Military Not like 'No'
order by sch.name asc ;
【问题讨论】:
-
您能否在此处粘贴一个示例,说明您的表格的外观以及它们的预期结果?
-
将其添加到 WHERE ... OR ISNULL 假设您返回的列 U.Scs_Perm_Share_Military 具有空值
-
谢谢大家!这解决了问题!祝你有美好的一天!
-
您的
where条件将外部联接变为内部联接。将学生表上的这些条件从where移动到join条件。 -
您误解了
outer join,因为它返回inner join以及其他行,但您的where必须删除所有其他行(根据a_horse_with_no_name 评论的第一句)。了解它的作用。你没有解释你想要什么(所以请根据 mrbox 的评论编辑你的问题)所以我们不知道 a_horse_with_no_name 的评论的第二句话是否是你需要的。)
标签: sql oracle join outer-join