Fórum por q dá este erro #60434
28/01/2009
0
count of column list and variable list do not match
Chega a listar o resultado mas dá erro na tela.
No delphi usando o tquery e não dá o erro...
Como segue um exemplo básico:
select campo1 from tabela1
union all
select campo1 from tabela1
É assim mesmo?
Uso o firebird 1.5
Briciosm
Curtir tópico
+ 0Posts
01/02/2009
Wilharlley
Gostei + 0
06/10/2010
Gentil Fachi
Alterei o Client Dialect para 3 e o erro persiste.
Quanto a Cast, tentei de todo tipo e em todos os campos, e o erro também persiste.
Sem o Cast:
select 1 as campo1, A.campo2 from Tabela1 A
Union
select 2 as campo2, B.campo2 from Tabela1 B
Com o Cast:
select Cast('1' as Numeric) as campo1, Cast(A.campo2 as Varchar(1)) as Campo2 from Tabela1 A
Union
select Cast('2' as Numeric) as campo2, Cast(B.campo2 as Varchar(1)) as Campo2 from Tabela1 B
E o erro é o mesmo: 'Invalid command count of column list and variable list do not match'
Alguém tem alguma idéia do que seja isso?
Gostei + 0
06/10/2010
Wilson Junior
select
Cast('1' as Numeric) as campo1,
Cast(A.campo2 as Varchar(1)) as Campo2
from
Tabela1 A
Union
select
Cast('2' as Numeric) as campo2, /* aqui deve ser campo1*/
Cast(B.campo2 as Varchar(1)) as Campo2
from
Tabela1 B
Espero ter colaborado.
Gostei + 0
06/10/2010
Gentil Fachi
Alterei o Client Dialect para 3 e o erro persiste.
Quanto a Cast, tentei de todo tipo e em todos os campos, e o erro também persiste.
Sem o Cast:
select 1 as campo1, A.campo2 from Tabela1 A
Union
select 2 as campo1, B.campo2 from Tabela1 B
Com o Cast:
select Cast('1' as Numeric) as campo1, Cast(A.campo2 as Varchar(1)) as Campo2 from Tabela1 A
Union
select Cast('2' as Numeric) as campo1, Cast(B.campo2 as Varchar(1)) as Campo2 from Tabela1 B
E o erro é o mesmo: 'Invalid command count of column list and variable list do not match'
Alguém tem alguma idéia do que seja isso?
Gostei + 0
06/10/2010
Gentil Fachi
O erro acontece mesmo com as colunas corretas.
Com Cast e sem Cast.
Segue Código:
select 1 as campo1, A.campo2 from Tabela1 A
Union
select 2 as campo1, B.campo2 from Tabela1 B
Agradeço pela ajuda.
Gostei + 0
07/10/2010
Emerson Nascimento
se é, você precisa ter o mesmo número de variáveis para receber os dados.
por exemplo:
for
select 1, A.campo2 from Tabela1 A
union all
select 2, B.campo2 from Tabela1 B
into :vcampo1, :vcampo2
como há dois campos, deve-se indicar duas variáveis para receber os valores.
for
select A.campo2 from Tabela1 A
union all
select B.campo2 from Tabela1 B
into :vcampo
como há 1 campo, deve-se indicar 1 variável para receber o valor.
Gostei + 0
07/10/2010
Ricardo Araujo
bom dia,
Caro Colega, da uma olhada neste,
link :http://www.linhadecodigo.com.br/artigo/945/SQL-Utilizando-o-Operador-UNION-e-UNION-ALL.aspx
neste link tem uns exemplo legal.
Espero te ajudando.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)