Select com Union
Qual o problema com esse script?
SELECT CODBARRA, DESCRICAO AS DESCRNF, PRECOPROMO AS PRECOVEND, DATAATE FROM CDPROMOCAOITEM WHERE DESCRICAO LIKE ´AB¬´ UNION
SELECT CODBARRA, DESCRNF, PRECOVEND FROM CDPRODUTOS WHERE DESCRNF LIKE ´AB¬´
Obrigado
SELECT CODBARRA, DESCRICAO AS DESCRNF, PRECOPROMO AS PRECOVEND, DATAATE FROM CDPROMOCAOITEM WHERE DESCRICAO LIKE ´AB¬´ UNION
SELECT CODBARRA, DESCRNF, PRECOVEND FROM CDPRODUTOS WHERE DESCRNF LIKE ´AB¬´
Obrigado
Ninjapan
Curtidas 0
Respostas
Lucas Silva
18/03/2004
qual o erro que está dando?
GOSTEI 0
Blackjaguar
18/03/2004
Bom,
De cara já dá para perceber que o primeiro SQL tá retornando 4 campos enquanto que o segundo só tá retornando 3.
Para que uma Union funcione, os campos das consultas devem ser compatíveis entre si. Não esquencendo da ordem.
De cara já dá para perceber que o primeiro SQL tá retornando 4 campos enquanto que o segundo só tá retornando 3.
Para que uma Union funcione, os campos das consultas devem ser compatíveis entre si. Não esquencendo da ordem.
GOSTEI 0
Ninjapan
18/03/2004
Bom,
De cara já dá para perceber que o primeiro SQL tá retornando 4 campos enquanto que o segundo só tá retornando 3.
Para que uma Union funcione, os campos das consultas devem ser compatíveis entre si. Não esquencendo da ordem.
Se tirar o DATAATE retorna o seguinte
Invalid command
Data type unknown
Por acaso os campos devem ter o mesmo tipo e tamanho para funcionarem? Se for isso, a mensagem não teria sentido.
Obrigado
GOSTEI 0
Blackjaguar
18/03/2004
É profundamente desejável que os campos sejam do mesmo tipo.
Mesmo que eles não sejam vc pode forçar a conversão para que fiquem do mesmo tipo.
No SQL vc usaria a função CONVERT(....)
Mesmo que eles não sejam vc pode forçar a conversão para que fiquem do mesmo tipo.
No SQL vc usaria a função CONVERT(....)
GOSTEI 0
Paulo_amorim
18/03/2004
Olá
vc nao precisa TIRAR campos da sua Query soh pra igualar no UNION...
faça ao contrário:
EX:
Perceba que o campo3 NAO EXISTE na tab2, mas passando vazio com LABEL campo3 ele aceitará.
Mas os campos não precisam ser compatíveis para entrarem no UNION
Até+
Paulo_Amorim
vc nao precisa TIRAR campos da sua Query soh pra igualar no UNION...
faça ao contrário:
EX:
SELECT campo1, campo2, campo3 FROM tab1 UNION SELECT campo1, campo2, ´´ campo3 FROM tab2
Perceba que o campo3 NAO EXISTE na tab2, mas passando vazio com LABEL campo3 ele aceitará.
Mas os campos não precisam ser compatíveis para entrarem no UNION
Até+
Paulo_Amorim
GOSTEI 0