none
Consulta ultilizando UNION RRS feed

  • Pergunta

  • Galera estou fazendo uma consulta porém ocasiona um erro nivel 16, "All queries combined using a UNION, INTERSECT or EXCEPT operator must have an equal number of expressions in their target lists."

    Pelo que entendi a consulta deve ter o mesmo numero de colunas nas duas consultas, correto ?

    Porém na tabela-2 possui uma coluna BIT de verificação que necessito, tem como criar algo generico no SELECT da tabela-1 ?

    segue codigo abaixo

    SELECT
          COLUNA-1  VARCHAR
          ,COLUNA-2 VARCHAR
          ,COLUNA-3 VARCHAR
    FROM
         TABELA-1
    
    UNION ALL
    
    SELECT 
           COLUNA-1  VARCHAR
          ,COLUNA-2 VARCHAR
          ,COLUNA-3 VARCHAR
          ,COLUNA-4 BIT
    FROM
         TABELA-2
    
    ORDER BY NOME

    Ficarei grato por quem puder ajudar.

    segunda-feira, 5 de janeiro de 2015 03:25

Respostas

Todas as Respostas

  • Deleted
    segunda-feira, 5 de janeiro de 2015 09:40
  • Galera estou fazendo uma consulta porém ocasiona um erro nivel 16, "All queries combined using a UNION, INTERSECT or EXCEPT operator must have an equal number of expressions in their target lists."

    Pelo que entendi a consulta deve ter o mesmo numero de colunas nas duas consultas, correto ?

    Porém na tabela-2 possui uma coluna BIT de verificação que necessito, tem como criar algo generico no SELECT da tabela-1 ?

    segue codigo abaixo

    SELECT COLUNA-1 VARCHAR ,COLUNA-2 VARCHAR ,COLUNA-3 VARCHAR

    ,Cast(0 as bit) as COLUNA_4

    FROM TABELA-1 UNION ALL SELECT COLUNA-1 VARCHAR ,COLUNA-2 VARCHAR ,COLUNA-3 VARCHAR ,COLUNA-4 BIT FROM TABELA-2 ORDER BY NOME

    Ficarei grato por quem puder ajudar.

    Gabriel, você mesmo já respondeu a sua pergunta, em consultas que usam o UNION é necessário que todos os select's envolvidos tenham exatamente o mesmo numero de colunas, mesmo que você apenas nomeie uma coluna e sete o valor como null ou zero, teste usando o exemplo do Jose.
    terça-feira, 6 de janeiro de 2015 12:22