使用 if-then 或 case-when-then 从数据集中 select
Using if-then or case-when-then to select from dataset
我有一个包含一年级、二年级和三年级学生的数据集。我想 select 一年级和二年级所有学生的名字,但只有三年级名为 John、Jane 或 Smith 的学生的名字。这是我目前所拥有的:
select
first_name,
grade_level
from table_with_all_students_info
-- I need an if or case when statement here saying if student is in third grade, their first name selected can only be John, Jane or Smith. My attempt is below.
case when grade_level in ('3rd grade')
then first_name in ('John', 'Jane', 'Smith')
我不确定哪里出了问题,但我希望得到一些帮助。谢谢
将 where
与 or
一起使用:
select
first_name,
grade_level
from table_with_all_students_info
where (grade_level = '3rd grade' and first_name in ('John', 'Jane', 'Smith'))
or grade_level in ('1st grade', '2nd grade')
如果你的数据只有3个年级,你可以用grade_level != '3rd grade'
替换grade_level in ('1st grade', '2nd grade')
您可以 UNION 两个查询,例如:
select first_name, grade_level
from table
where grade_level in ('1st','2nd')
union
select first_name, grade_level
from table
where grade_level = '3rd'
and first_name in ('John','Jane','Smith')
我有一个包含一年级、二年级和三年级学生的数据集。我想 select 一年级和二年级所有学生的名字,但只有三年级名为 John、Jane 或 Smith 的学生的名字。这是我目前所拥有的:
select
first_name,
grade_level
from table_with_all_students_info
-- I need an if or case when statement here saying if student is in third grade, their first name selected can only be John, Jane or Smith. My attempt is below.
case when grade_level in ('3rd grade')
then first_name in ('John', 'Jane', 'Smith')
我不确定哪里出了问题,但我希望得到一些帮助。谢谢
将 where
与 or
一起使用:
select
first_name,
grade_level
from table_with_all_students_info
where (grade_level = '3rd grade' and first_name in ('John', 'Jane', 'Smith'))
or grade_level in ('1st grade', '2nd grade')
如果你的数据只有3个年级,你可以用grade_level != '3rd grade'
grade_level in ('1st grade', '2nd grade')
您可以 UNION 两个查询,例如:
select first_name, grade_level
from table
where grade_level in ('1st','2nd')
union
select first_name, grade_level
from table
where grade_level = '3rd'
and first_name in ('John','Jane','Smith')