Oracle 查询合并两个表

Oracle Query combining Two tables

我有两张桌子。我想合并这些表以获得如下结果:

Table_1

RegNo       Class_id    Name    Address
------------------------------------------------
ABC/R/13-14-1       1   Name1   Address1
ABC/R/13-14-2       2   Name1   Address1
ABC/R/2014-15-1     1   Name1   Address1
ABC/R/2014-15-2     3   Name1   Address1
ABC/R/13-14-3       1   Name1   Address1
------------------------------------------------

Table_2

Class_id    Class
----------------------
1       IA
2       IB
3       IC
----------------------

我需要这样的结果:

Class   2013    2014
--------------------
IA  2   1
IB  1   0
IC  0   1
--------------------

我正在使用 Group by 分别获取每年的结果,但我无法像要求那样以列格式获取年份。非常感谢任何帮助。

提前致谢。

如果您在查询中使用的条件适用于您的数据,那么您可以使用此查询:

select t2.class, 
    sum(case when regno like 'ABC%13-14%' then 1 else 0 end) c2013,
    sum(case when regno like 'ABC%14-15%' then 1 else 0 end) c2014
  from table_1 t1
  join table_2 t2 on t1.class_id = t2.class_id
  group by t2.class

输出:

CLASS      C2013      C2014
----- ---------- ----------
IA             2          1
IB             1          0
IC             0          1