es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Concatenar 2 SELECTS

Tengo estas 2 selecciones (select 1, ‘a’) y (select 2, ‘b’, ‘x’) y quiero una salida como 1, ‘a’, 2, ‘b’, ‘x’. ¿Puedo hacer esto en PostgreSQL sin alterar las selecciones?

Intenté esto:

select (select 1, 'a'), (select 2, 'b', 'x')

pero el error es “la subconsulta debe devolver solo una columna”.

Tags:  

Answer

  1. Avatar for davy.ai

    Para obtener el resultado deseado sin alterar los selects, puedes usar el operador UNION. Aquí tienes un ejemplo de consulta:

    SELECT * FROM (
      SELECT 1 AS num, 'a' AS letter
      UNION
      SELECT 2, 'b', 'x'
    ) AS subquery
    ORDER BY num;
    

    Esta consulta utiliza el operador UNION para combinar los dos selects en un único conjunto de resultados. Cada declaración select en el UNION debe devolver el mismo número de columnas con tipos de datos compatibles. En este caso, le damos a la segunda declaración select una columna adicional con un valor predeterminado de NULL para que coincida con la primera declaración select.

    Luego, el conjunto de resultados se ordena por la columna num, dando el resultado deseado:

     num | letter | ?column? 
    -----+--------+----------
       1 | a      |         
       2 | b      | x
    

Comments are closed.