Change result SELECT by sequential

0

I have the following query:

SELECT DISTINCT N.SNUMERO, I.SNOMBRE, S.SSERVICIO FROM PROC_CEDULA CD
JOIN CAT_NUMINTERV N ON CD.NIDCATNUMINT=N.NIDNUMINT
JOIN CAT_INTERVENCIONES I ON CD.NIDCATINTERVENCION=I.NIDINTERVENCION
JOIN CAT_SERVICIOS S ON CD.NIDCATSERV=S.NIDCATSERVICIO
JOIN CUBO_CONSUMIBLES CC ON CD.NIDCUBOCONSUMIBLE=CC.NIDCUBOCONSUMIBLES
JOIN CAT_TIPOSINSUMO T ON CC.NIDTIPOINSUMO=T.NIDCATTIPOSINSUMO
WHERE CD.NIDANIOCEDULA=9 AND CD.BAPLICASUBSIDIO IS NULL AND CD.BAPLICAFEDERAL IS NOT NULL 
AND N.SNUMERO IN ('121','122','123','124')
ORDER BY TO_NUMBER(N.SNUMERO),I.SNOMBRE, S.SSERVICIO;

That returns the following result:

I need to group the results of SSERVICIO for everything that is consulted, that is, it does not matter if it is specialized, subsequent or of any kind, I should return something like this:

The problem is that I have no idea how to do that.

Annex structure of tables in the Join:

PROC_CEDULA

CAT_NUMINTERV

CAT_INTERVENTIONS

CAT_SERVICIOS

CUBO_CONSUMIBLES

CAT_TIPOINSUMOS

    
asked by OrioonTV 21.03.2018 в 20:45
source

1 answer

0

If what you want is for you to order it AND YOU WILL GET IT, IT WOULD STAY LIKE THIS AND if you only want the services that contain consultation

SELECT  N.SNUMERO, I.SNOMBRE, S.SSERVICIO FROM PROC_CEDULA CD
JOIN CAT_NUMINTERV N ON CD.NIDCATNUMINT=N.NIDNUMINT
JOIN CAT_INTERVENCIONES I ON CD.NIDCATINTERVENCION=I.NIDINTERVENCION
JOIN CAT_SERVICIOS S ON CD.NIDCATSERV=S.NIDCATSERVICIO
JOIN CUBO_CONSUMIBLES CC ON CD.NIDCUBOCONSUMIBLE=CC.NIDCUBOCONSUMIBLES
JOIN CAT_TIPOSINSUMO T ON CC.NIDTIPOINSUMO=T.NIDCATTIPOSINSUMO
WHERE CD.NIDANIOCEDULA=9 AND CD.BAPLICASUBSIDIO IS NULL AND CD.BAPLICAFEDERAL IS NOT NULL 
AND N.SNUMERO IN ('121','122','123','124') AND S.SSERVICIO LIKE '%CONSULT%'
GROUP BY S.SSERVICIO, I.SNOMBRE, N.SNUMERO 
ORDER BY S.SSERVICIO;
    
answered by 21.03.2018 в 21:31