根据case语句执行不同的查询

时间:2014-10-08 20:49:47

标签: sql oracle case

我有一个名为' Measure'的列,其中包含多个值。如果这些列的值是' Majors',我想执行以下操作:

select *
from students;

当值是其他任何东西时,我想执行:

select distinct *
from students;

我过去曾使用过CASE语句来返回单个值。如何使它们返回整个查询?或者,如果没有CASE,如何解决这个问题?

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

我试试这个。基本上,它为您提供了专业的所有结果,然后将其他结果相加。

SELECT * FROM students
WHERE Measure = 'Majors'
UNION
SELECT DISTINCT * FROM students
WHERE Measure <> 'Majors'