1
我使用的是Oracle,我希望打开一个查询,该查询将多个列分成几行。SQL - 将多个列分成若干行
这是我的我的查询:
SELECT I.cd_curso,
I.cd_discip,
ND.ds_discip,
I.cd_turma_t,
I.cd_turma_p,
I.cd_turma_l,
I.cd_turma_tp,
I.cd_turma_e,
I.cd_turma_o,
I.cd_turma_c,
I.cd_turma_s,
Count(*) AS alunos
FROM cse.v_vwinscri I,
cse.t_tbdiscip ND
WHERE I.cd_lectivo = 201314
AND I.cd_discip = 911901
AND I.cd_discip = ND.cd_discip
AND I.cd_curso = 9885
AND (I.cd_turma_t IS NOT NULL
OR I.cd_turma_p IS NOT NULL
OR I.cd_turma_l IS NOT NULL
OR I.cd_turma_tp IS NOT NULL
OR I.cd_turma_e IS NOT NULL
OR I.cd_turma_o IS NOT NULL
OR I.cd_turma_c IS NOT NULL
OR I.cd_turma_s IS NOT NULL)
GROUP BY I.cd_curso,
I.cd_discip,
ND.ds_discip,
I.cd_turma_t,
I.cd_turma_p,
I.cd_turma_l,
I.cd_turma_tp,
I.cd_turma_e,
I.cd_turma_o,
I.cd_turma_c,
I.cd_turma_s
ORDER BY I.cd_curso,
I.cd_turma_t,
I.cd_turma_p,
I.cd_turma_l,
I.cd_turma_tp,
I.cd_turma_e,
I.cd_turma_o,
I.cd_turma_c,
I.cd_turma_s
我希望把结果CD_TURMA_T,CD_TURMA_P,等等,进入diferent行作为CD_TURMA。那么基本上使用第一菲尔斯作为键和其他值,将它们从列更改为行...
这可能吗?
是的,它是possible.Just寻找教程甲骨文透视或http://stackoverflow.com/questions/17060044/how-to-transpose-a -table-from-columns-to-rows-in-oracle-sql –
编写'COALESCE(I.cd_turma_t,I.cd_turma_p,I.cd_turma_l,I.cd_turma_tp,...)不是NULL' –