none
Union de consultas RRS feed

  • Pregunta

  • Buen dia tengo dos consultas que necesito unir para tener solo un query con toda la informacion pero no se como hacerlo ya que en una tengo un case  en la otra un subquery 






    • Editado Louisa_E jueves, 6 de junio de 2019 14:04
    miércoles, 5 de junio de 2019 18:09

Respuestas

  • Si no son las mismas, las "fuerzas" añadiendo columnas ficticias en la consulta que tenga menos. Por ejemplo:

    SELEECT .... , NULL as OtraColumna, ....

    Y si alguna no coincide en tipo, le puedes aplicar las funciones CAST o CONVERT para convertirla al mismo tipo que tenga la columna correspondiente de la otra consulta.

    • Marcado como respuesta Louisa_E jueves, 6 de junio de 2019 14:03
    miércoles, 5 de junio de 2019 20:20

Todas las respuestas

  • Si quieres unir en un select todas las filas devueltas por otros dos queries, básicamente hay que poner un UNION ALL entre medias:

    SELECT listaDeColumnas1 FROM ...
    UNION ALL
    SELECT listaDeColumnas2 FROM ...
    

    Aquí, da igual de donde provengan las columnas de cada lista. No importa que cualquiera de ellas tenga CASE o tenga subconsultas. La única precaución es que la listaDeColumnas1 y la listaDeColumnas2 tienen que tener el mismo número y tipo de columnas. Es decir, si la listaDeColumnas1 tiene 9 columnas entonces es obligatorio que la listaDeColumnas2 tenga 9 columnas (da igual cómo se construyan, pueden tener case, subconsultas, etc.). Y si la primera columna de listaDeColumnas1 es de tipo INT entonces la primera columna de listaDeColumnas2 también debe ser de tipo INT, y así con todas las columnas.

    • Propuesto como respuesta Carlos_Ruiz_M miércoles, 5 de junio de 2019 20:19
    miércoles, 5 de junio de 2019 18:40
  • Y en caso de que no fueran las mismas-? Tendria que etructurar mi query para que fuera solo uno, si feura asi como se podria hacer
    miércoles, 5 de junio de 2019 18:57
  • Si no son las mismas, las "fuerzas" añadiendo columnas ficticias en la consulta que tenga menos. Por ejemplo:

    SELEECT .... , NULL as OtraColumna, ....

    Y si alguna no coincide en tipo, le puedes aplicar las funciones CAST o CONVERT para convertirla al mismo tipo que tenga la columna correspondiente de la otra consulta.

    • Marcado como respuesta Louisa_E jueves, 6 de junio de 2019 14:03
    miércoles, 5 de junio de 2019 20:20