从两个不同的行记录生成串联

牛仔裤

我的 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章