我有一個包含一年級、二年級和三年級學生的資料集。我想選擇 1 年級和 2 年級所有學生的姓名,但只選擇 3 年級的學生姓名為 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')
我不確定我在那里做錯了什么,但我會很感激一些幫助。謝謝
uj5u.com熱心網友回復:
您可以聯合兩個查詢,例如:
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')
uj5u.com熱心網友回復:
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 in ('1st grade', '2nd grade')為grade_level != '3rd grade'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/457684.html
標籤:sql PostgreSQL if 语句 案子
