1

我想知道特定学院是否有特定课程,我有 3 个学院

这是我的表格,其中包含机构下课程的数据

Course_types
unique_id,course_id,course_name,institution_id
1         1          economics  1
2         1          economics  2
3         1          economics  3
4         2          Science    1
5         2          Science    3

期望的输出类似于

course_id,course_name,inst_1,inst_2,inst_3 

1        economics     yes    yes    yes
2        Science       yes    No      yes

我尝试过旋转,但它会在一个机构下产生计数,但我无法将标志设置为“是”或“否”

谢谢你的帮助

这是我尝试过的

select   course_id,course_name,

max(decode(institution_id, '1' ,'yes','no')) inst_1 ,

max( decode(institution_id, '2' ,'yes','no')) inst_2,

max(decode(pt.institution_id, '3' ,'yes','no')) inst_3,
from course_types
group by course_id,course_name
4

1 回答 1

0

您的代码应该可以工作,但pt.表别名除外(我猜这是一个错字)。以下修复了表别名问题并从常量中删除了引号(我猜institution_id是数字):

select course_id, course_name,
       max(decode(institution_id, 1, 'yes', 'no')) as inst_1 ,
       max(decode(institution_id, 2, 'yes', 'no')) as inst_2,
       max(decode(institution_id, 3, 'yes', 'no')) as inst_3,
from course_types
group by course_id, course_name;

这是怎么失败的?

于 2013-09-03T13:27:32.457 回答