Consultation with 5 union

-1

I have a query, I have code SQL a union where I consult 5 tables, the common field is the fecha , how can I order to be ordered by the date of a table from one of those specific unions , here I leave the code

SELECT 
          (t_evaluacion_mayor5.id, 
          t_evaluacion_mayor5.codigo_evaluacion, 
          ''::text AS codigo_seguimiento, 
          t_evaluacion_mayor5.codigo_persona, 
          t_evaluacion_mayor5.talla::text AS talla, 
          t_evaluacion_mayor5.peso::text AS peso, 
          ''::text AS peso_pregestacional, 
          ''::text AS peso_actual_emb, 
          ''::text AS ganancia_peso, 
          ''::text AS fecha_ultima_menstruacion, 
          ''::text AS semanas_gestacion, 
          ''::text AS cbi, 
          ''::text AS codigo_cbi_menor115, 
          ''::text AS edema_severo, 
          ''::text AS apetito, 
          t_evaluacion_mayor5.codigo_complicaciones_clinicas::text AS codigo_complicaciones_clinicas, 
          t_evaluacion_mayor5.codigo_estado_nutricional::text AS codigo_estado_nutricional, 
          t_evaluacion_mayor5.codigo_descripcion_situacion, 
          t_evaluacion_mayor5.fecha_abordaje, 
          t_evaluacion_mayor5.codigo_tipo_evaluacion, 
          t_evaluacion_mayor5.codigo_origen
     FROM dean_eapg.t_evaluacion_mayor5
    WHERE t_evaluacion_mayor5.codigo_descripcion_situacion::text > '1'::text
UNION 
     SELECT 
           t_evaluacion_menor5.id, 
           t_evaluacion_menor5.codigo_evaluacion, 
           ''::text AS codigo_seguimiento, 
           t_evaluacion_menor5.codigo_persona, 
           ''::text AS talla, 
           ''::text AS peso, 
           ''::text AS peso_pregestacional, 
           ''::text AS peso_actual_emb, 
           ''::text AS ganancia_peso, 
           ''::text AS fecha_ultima_menstruacion, 
           ''::text AS semanas_gestacion, 
           t_evaluacion_menor5.cbi::text AS cbi, 
           t_evaluacion_menor5.codigo_cbi_menor115::text AS codigo_cbi_menor115, 
           t_evaluacion_menor5.codigo_edema_severo::text AS edema_severo, 
           t_evaluacion_menor5.codigo_apetito::text AS apetito, 
           t_evaluacion_menor5.codigo_complicaciones_clinicas::text AS codigo_complicaciones_clinicas, 
           ''::text AS codigo_estado_nutricional, 
           t_evaluacion_menor5.codigo_descripcion_situacion::text AS codigo_descripcion_situacion, 
           t_evaluacion_menor5.fecha_abordaje, 
           t_evaluacion_menor5.codigo_tipo_evaluacion, 
           t_evaluacion_menor5.codigo_origen
       FROM dean_eapg.t_evaluacion_menor5
      WHERE t_evaluacion_menor5.codigo_descripcion_situacion::text > '1'::text
UNION 
      SELECT 
            t_evaluacion_embarazada.id, 
            t_evaluacion_embarazada.codigo_evaluacion, 
            ''::text AS codigo_seguimiento, 
            t_evaluacion_embarazada.codigo_persona, 
            ''::text AS talla, 
            ''::text AS peso, 
            t_evaluacion_embarazada.peso_pregestacional::text AS peso_pregestacional, 
            t_evaluacion_embarazada.peso_actual::text AS peso_actual_emb, 
            t_evaluacion_embarazada.incremento_peso::text AS ganancia_peso, 
            t_evaluacion_embarazada.fecha_ultima_menstruacion::text AS fecha_ultima_menstruacion, 
            t_evaluacion_embarazada.semanas_gestacion::text AS semanas_gestacion, 
            ''::text AS cbi, 
            ''::text AS codigo_cbi_menor115, 
            ''::text AS edema_severo, 
            ''::text AS apetito, 
            ''::text AS codigo_complicaciones_clinicas, 
            ''::text AS codigo_estado_nutricional, 
            t_evaluacion_embarazada.codigo_incremento_peso::text AS codigo_descripcion_situacion, 
            t_evaluacion_embarazada.fecha_abordaje, 
            t_evaluacion_embarazada.codigo_tipo_evaluacion, 
            t_evaluacion_embarazada.codigo_origen
  FROM dean_eapg.t_evaluacion_embarazada
  WHERE t_evaluacion_embarazada.codigo_incremento_peso::text > '1'::text
UNION 
   SELECT 
          t_evaluacion_menor3meses.id, 
          t_evaluacion_menor3meses.codigo_evaluacion, 
          ''::text AS codigo_seguimiento, 
          t_evaluacion_menor3meses.codigo_persona, 
          ''::text AS talla, 
          t_evaluacion_menor3meses.peso::text AS peso, 
          ''::text AS peso_pregestacional, 
          ''::text AS peso_actual_emb, 
          ''::text AS ganancia_peso, 
          ''::text AS fecha_ultima_menstruacion, 
          ''::text AS semanas_gestacion, 
          ''::text AS cbi, 
          ''::text AS codigo_cbi_menor115, 
          ''::text AS edema_severo, 
          ''::text AS apetito, 
          t_evaluacion_menor3meses.codigo_complicaciones_clinicas::text AS codigo_complicaciones_clinicas, 
          t_evaluacion_menor3meses.codigo_estado_nutricional::text AS codigo_estado_nutricional, 
          t_evaluacion_menor3meses.codigo_descripcion_situacion::text AS codigo_descripcion_situacion, 
          t_evaluacion_menor3meses.fecha_abordaje, 
          t_evaluacion_menor3meses.codigo_tipo_evaluacion, 
          t_evaluacion_menor3meses.codigo_origen
     FROM dean_eapg.t_evaluacion_menor3meses
    WHERE t_evaluacion_menor3meses.codigo_descripcion_situacion::text > '1'::text)
UNION 
 SELECT 
        t_seguimiento.id, 
        ''::text AS codigo_evaluacion, 
        t_seguimiento.codigo_seguimiento::text AS codigo_seguimiento, 
        t_seguimiento.codigo_persona, 
        t_seguimiento.talla::text AS talla, 
        t_seguimiento.peso::text AS peso, 
        ''::text AS peso_pregestacional, 
        ''::text AS peso_actual_emb, 
        t_seguimiento.ganancia_peso::text AS ganancia_peso, 
        ''::text AS fecha_ultima_menstruacion, 
        t_seguimiento.semanas_gestacion::text AS semanas_gestacion, 
        t_seguimiento.cbi::text AS cbi, 
        ''::text AS codigo_cbi_menor115, 
        t_seguimiento.edema_severo::text AS edema_severo, 
        t_seguimiento.apetito::text AS apetito, 
        t_seguimiento.complicacion_clinica::text AS codigo_complicaciones_clinicas, 
        ''::text AS codigo_estado_nutricional, 
        t_seguimiento.codigo_descripcion_situacion::text AS codigo_descripcion_situacion, 
        t_seguimiento.fecha_abordaje, 
        t_seguimiento.codigo_tipo_evaluacion, t_seguimiento.codigo_origen
   FROM dean_eapg.t_seguimiento

I need to sort by date all the tables except the follow-up and that those tracking dates place them at the end, how could I do it?

    
asked by Angel Gutierrez 17.11.2017 в 22:04
source

2 answers

1
  

I need to sort by date all the tables except the tracking and that those tracking dates place them at the end

My interpretation of what you mean by this is that you want the result of the union of the 5 tables to be ordered by date, but with the peculiarity that the records coming from the t_seguimiento table should appear after the records of the 4 other tables.

If my understanding is correct, this can be achieved by adding an additional column to your 5 selects in order to differentiate the records in the t_seguimiento table. Then you can add a ORDER BY at the end that orders that column first, and then by date.

Example using a very simplified version of your query:

select ...,
       fecha_abordaje,
       0 as seq
from t_evaluacion_mayor5
union
select ...,
       fecha_abordaje,
       0 as seq
from t_evaluacion_menor5
union
select ...,
       fecha_abordaje,
       0 as seq
from t_evaluacion_embarazada
union
select ...,
       fecha_abordaje,
       0 as seq
from t_evaluacion_menor3meses
union
select ...,
       fecha_abordaje,
       1 as seq
from t_seguimiento
order by seq, fecha_abordaje
    
answered by 17.11.2017 в 22:43
0

You only have to add after the WHERE statements the ORDER BY statement in the queries you want to order.

FROM dean_eapg.t_evaluacion_mayor5
WHERE t_evaluacion_mayor5.codigo_descripcion_situacion::text > '1'::text
ORDER BY t_evaluacion_mayor5.FECHA
    
answered by 17.11.2017 в 22:12