在Oracle中,下面的case语句给我一个错误。请帮忙。错误是:ORA:00907。在我写案例声明时出现错误ORA:00907
select * from schools_master_table where TEST_SUBJECT_KEY in (case
when SCHOOL_YEAR<=2014 and TEST_GRADE_KEY in (3,4,5,6,7,8,10) THEN (1,2,3,4,5)
when SCHOOL_YEAR >2014 and TEST_GRADE_KEY in (10) THEN (1,3)
when SCHOOL_YEAR>2014 and TEST_GRADE_KEY in (3,4,5,6,7,8) THEN (1,2,3,4,5)
when SCHOOL_YEAR>2014 and TEST_TYPE_KEY in (11) THEN (17,18,19,20,21,22,23,24,25)
ELSE NULL
END)
我试图写一个case语句,如果条件1是在其中满足then test_subject_key是(1,2,3,4,5)否则条件2或条件3等等。 –
编辑您的原始文章,并添加上面的评论,以便它更相关。还要添加更多标签,例如oracle,sql等以获得更多人的帮助 – AGE
这仅仅是无效的[case expression syntax](http://docs.oracle.com/cd/E11882_01/server.112/e41084 /expressions004.htm),或者为'in'条件提供一个有效的列表。作为案例的结果,您不能拥有值列表(除非您使用集合)。你的任务是否要求你使用一个案例,如果是,它指定了什么?否则,这应该用'或'和'和'运算符和si ole条件来完成,而不是case ... –