Erro Data type unknown.
07/12/2005
0
Dynamic SQL Error.
SQL error code = -104.
Invalid command.
Data type unknown.
Que erro é este....
Não tem nenhum tipo de dados incorreto no select...
segue abaixo...
select distinct sum(CB0100.C_QTD) as D_SUM,
CA0500.C_CESTA_BASICA_COLABORADOR, CA0500.C_NOME_COLABORADOR,
FR0100.C_NOME_FRN from CB0100, CA0500, FR0100 where CB0100.C_MES = 12
and CB0100.C_ANO = 2005 and CB0100.C_COD_COLABORADOR =
CA0500.C_COD_COLABORADOR and FR0100.C_COD_FRN =
CA0500.C_COD_FORNECEDOR_COLABORADOR and( CA0500.C_COD_COLABORADOR =
´000000000000033´) group by CB0100.C_COD_COLABORADOR,
CA0500.C_COD_COLABORADOR, CA0500.C_NOME_COLABORADOR,
CA0500.C_CESTA_BASICA_COLABORADOR, FR0100.C_NOME_FRN
Union select
distinct CA0500.C_COD_COLABORADOR, CA0500.C_NOME_COLABORADOR,
CA0500.C_CESTA_BASICA_COLABORADOR, FR0100.C_NOME_FRN from CA0500, FR0100 where
(CA0500.C_COD_COLABORADOR =
´000000000000033´) and CA0500.C_CESTA_BASICA_COLABORADOR = ´S´ and
FR0100.C_COD_FRN = CA0500.C_COD_FORNECEDOR_COLABORADOR group by
CA0500.C_COD_COLABORADOR, CA0500.C_NOME_COLABORADOR,
CA0500.C_CESTA_BASICA_COLABORADOR, FR0100.C_NOME_FRN
Alguém sabe o por quê deste erro ?????????????
Cabelo
Posts
08/12/2005
Cabelo
Dá o erro tanto em Run como em Design.......
Só no SQL Explorer que não........
08/12/2005
Edilcimar
tente diminuir o número de linhas e vá tentando ´rodar´ e depois vá aos poucos acrescentando ítens(vai dar trabalho), o código é muito grande, eu começo a dormir quando chego na metade!
08/12/2005
Cabelo
os componentes são DBExpress...
Mas as minhas tabelas, deste join, tem poucos registros, e o select não é grande, aliás é muito pequeno... deve conter uns três ou quatro registros...
ou eu não entendí o que vc quis dizer..
:oops:
08/12/2005
Edilcimar
select distinct sum(CB0100.C_QTD) as D_SUM,
CA0500.C_CESTA_BASICA_COLABORADOR from xxxxx
depois
select distinct sum(CB0100.C_QTD) as D_SUM,
CA0500.C_CESTA_BASICA_COLABORADOR, CA0500.C_NOME_COLABORADOR from xxxxx
depois
select distinct sum(CB0100.C_QTD) as D_SUM,
CA0500.C_CESTA_BASICA_COLABORADOR, CA0500.C_NOME_COLABORADOR,
FR0100.C_NOME_FRN from CB0100, CA0500, FR0100 where CB0100.C_MES = 12
and CB0100.C_ANO = 2005 and CB0100.C_COD_COLABORADOR =
CA0500.C_COD_COLABORADOR from xxxxx
etc, etc, etc, são muitos campos para serem lidos, e como vc usa código para as tabelas dá sono!
08/12/2005
Emerson Nascimento
select distinct sum(CB0100.C_QTD) as D_SUM, CA0500.C_CESTA_BASICA_COLABORADOR, CA0500.C_NOME_COLABORADOR, FR0100.C_NOME_FRN from CB0100, CA0500, FR0100 where CB0100.C_MES = 12 and CB0100.C_ANO = 2005 and CB0100.C_COD_COLABORADOR = CA0500.C_COD_COLABORADOR and FR0100.C_COD_FRN = CA0500.C_COD_FORNECEDOR_COLABORADOR and( CA0500.C_COD_COLABORADOR = ´000000000000033´) group by CB0100.C_COD_COLABORADOR, CA0500.C_COD_COLABORADOR, CA0500.C_NOME_COLABORADOR, CA0500.C_CESTA_BASICA_COLABORADOR, FR0100.C_NOME_FRN Union select distinct CA0500.C_COD_COLABORADOR, CA0500.C_NOME_COLABORADOR, CA0500.C_CESTA_BASICA_COLABORADOR, FR0100.C_NOME_FRN from CA0500, FR0100 where (CA0500.C_COD_COLABORADOR = ´000000000000033´) and CA0500.C_CESTA_BASICA_COLABORADOR = ´S´ and FR0100.C_COD_FRN = CA0500.C_COD_FORNECEDOR_COLABORADOR group by CA0500.C_COD_COLABORADOR, CA0500.C_NOME_COLABORADOR, CA0500.C_CESTA_BASICA_COLABORADOR, FR0100.C_NOME_FRN
o que ocorre é a diferença nos campos das instruções.
- na primeira instrução são os seguintes campos:
D_SUM -> qual o tipo? C_CESTA_BASICA_COLABORADOR -> qual o tipo? C_NOME_COLABORADOR -> qual o tipo? C_NOME_FRN -> qual o tipo?
- na segunda instrução são os seguintes campos:
C_COD_COLABORADOR -> é similar ao D_SUM anterior? C_NOME_COLABORADOR -> é similar ao C_CESTA_BASICA_COLABORADOR anterior? C_CESTA_BASICA_COLABORADOR -> é similar ao C_NOME_COLABORADOR anterior? C_NOME_FRN -> provavelmente o único que está correto
os campos similares devem estar na mesma ordem nas duas instruções!
select distinct sum(CB0100.C_QTD) as D_SUM, CA0500.C_CESTA_BASICA_COLABORADOR, CA0500.C_NOME_COLABORADOR, FR0100.C_NOME_FRN from CB0100, CA0500, FR0100 where CB0100.C_MES = 12 and CB0100.C_ANO = 2005 and CB0100.C_COD_COLABORADOR = CA0500.C_COD_COLABORADOR and FR0100.C_COD_FRN = CA0500.C_COD_FORNECEDOR_COLABORADOR and( CA0500.C_COD_COLABORADOR = ´000000000000033´) group by CB0100.C_COD_COLABORADOR, CA0500.C_COD_COLABORADOR, CA0500.C_NOME_COLABORADOR, CA0500.C_CESTA_BASICA_COLABORADOR, FR0100.C_NOME_FRN Union select distinct CA0500.C_COD_COLABORADOR, CA0500.C_CESTA_BASICA_COLABORADOR, CA0500.C_NOME_COLABORADOR, FR0100.C_NOME_FRN from CA0500, FR0100 where (CA0500.C_COD_COLABORADOR = ´000000000000033´) and CA0500.C_CESTA_BASICA_COLABORADOR = ´S´ and FR0100.C_COD_FRN = CA0500.C_COD_FORNECEDOR_COLABORADOR group by CA0500.C_COD_COLABORADOR, CA0500.C_NOME_COLABORADOR, CA0500.C_CESTA_BASICA_COLABORADOR, FR0100.C_NOME_FRN
08/12/2005
Cabelo
já tinha feito assim, mas mesmo assim não tinha dado certo...
o interessante e preocupante é que no SQLExplorer deu certo... conseguí fazer o select....
08/12/2005
Emerson Nascimento
09/12/2005
Cabelo
Não tenho campos persistentes nestes componentes..
É tudo dinâmico...
Acho que o problema está no SQL....
quando tiro o SUM... funciona que é uma beleza...
já com o Sum... dáop bendito erro...
09/12/2005
Emerson Nascimento
[b:4a8be5c0db]´[i:4a8be5c0db]sum(CB0100.C_QTD) as D_SUM[/i:4a8be5c0db]´ (1a. select) tem o mesmo tipo de resultado que ´[i:4a8be5c0db]CA0500.C_COD_COLABORADOR[/i:4a8be5c0db]´ (2a. select)?[/b:4a8be5c0db]
talvez o ´[i:4a8be5c0db]sum(CB0100.C_QTD) as D_SUM[/i:4a8be5c0db]´ retorne um valor decimal, enquanto que ´[i:4a8be5c0db]CA0500.C_COD_COLABORADOR[/i:4a8be5c0db]´ pode retornar um inteiro.
15/12/2005
Cabelo
Muito obrigado pela ajuda..
Clique aqui para fazer login e interagir na Comunidade :)