我的 Oracle 数据库中有以下行记录
TERM CRN SUBJ CRSE SCHD_CODE
2016 104 BIOL 252 B
2016 104 BIOL 252 L
2017 123 MATH 201 E
2017 123 MATH 201 S
是否可以使用 group by 生成一个 SQL 语句来在“SCHD_CODE”字段上进行连接,如下例所示???
Select term, CRN, SUBJ, CRSE, (SCH_CODE||'/'|| SCH_CODE) from xx
GROUP BY term, CRN, SUBJ, CRSE
需要具有以下所需的输出:
TERM CRN SUBJ CRSE SCHD_CODE
2016 104 BIOL 252 B/L
2017 123 MATH 201 E/S
您也可以尝试自连接:
select * from (
select
case when table1.SCHD_CODE <> table2.SCHD_CODE then "" else NULL END as test,
table1.TERM,table1.SUBJRN,table1.SUBJ,table1.CRSE,table1.SCHD_CODE, (table1.SCHD_CODE||'/'||table2.SCHD_CODE)
from result table1
join result table2 on table1.TERM=table2.TERM
and table1.SUBJRN=table2.SUBJRN
and table1.SUBJ=table2.SUBJ
and table1.CRSE=table2.CRSE) b where test is not null
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句