因此,我尝试从SIS导出每个学生的种族,但遇到了麻烦,因为如果一个学生是多种族的,那么每个学生将有多行。通常,我会使用一些聚合函数来删除这些重复项,但是我把它放在一个插件中,系统不接受聚合函数。我想做的是把所有的多种族的孩子,放在一行,并命名为Multiracial,我必须在没有聚合函数的情况下完成,这是一个使用聚合函数的代码示例。
select DISTINCT
Student_number,
case
when min(sr.racecd) = max(sr.racecd) then min(sr.racecd) else 'Two or more races'
End as races
from students
Group by...
输出如下所示:
Student_Number races
5234 White
4343 Two or more races
4323 Asian....
有没有一种方法可以在没有聚合函数的情况下实现这一点,或者我遇到了障碍?
3条答案
按热度按时间rggaifut1#
创建一个视图,然后用简单的插件查询它,而不是查询表。
例如:
然后插件可以从
simple_student
而不是student
导出数据。wvt8vs2t2#
可以使用分析函数:
jhdbpxl93#
你可以对每个种族使用left join,将STUDENT_NUMBER中的null值替换为0,然后对所有的种族进行加法运算。如果结果等于实际的学生人数,那么它只是一个种族,你可以使用Coalesce()得到它。
没有聚合、没有分组、没有分析函数......只有左连接、Nvl()-s和一些数学知识。