AMBIGUOUS COLUMN NAME NO INNER JOIN
E ai pessoal, seguinte um problema esquisito aqui.
Eu uso o vb 6.0 com o sql express 2005. E esta dando um erro esquisito.
No sql roda normal este select com inner join, porem no vb ele da um erro de ambiguous column name.
Segue o sql
SQL = [Ô]SELECT C.CODIGO AS CODPAGAR, F.NOME, E.NOME AS nomeempresa, P.plano, PD.descricao, [Ô]
SQL = SQL & [Ô]C.DOCUMENTO, C.SERIE, C.VENCIMENTO , C.VALORTOTAL, C.VALORTITULO, F.CODIGO AS CODFORN, E.CODIGO AS CODEMPRESA, P.CODIGO AS CODIGOPLANO, PD.CODIGO AS CODPD, T.CODIGO AS CODIGOTIPO FROM [Ô]
SQL = SQL & [Ô] (((((CPAGAR as C INNER JOIN Planos as P ON C.CODPLANO = P.CODIGO) INNER JOIN FORNECEDORES as F ON C.CODREF = [Ô]
SQL = SQL & [Ô] F.CODIGO) INNER JOIN TIPO AS T ON C.CODTIPO = T.CODIGO) INNER JOIN PlanoDesc AS PD ON C.CODCATEGORIA [Ô]
SQL = SQL & [Ô] = PD.CODIGO) INNER JOIN EMPRESAS AS E ON C.CODLOJA = E.CODIGO) [Ô]
segue o sql que eu escrevi dentro do sql express 2005 e rodou.
SELECT CPAGAR.CODIGO, FORNECEDORES.NOME, EMPRESAS.NOME AS Expr1, Planos.plano, PlanoDesc.descricao, CPAGAR.DOCUMENTO, CPAGAR.VENCIMENTO,
CPAGAR.VALORTOTAL, CPAGAR.VALORTITULO
FROM CPAGAR INNER JOIN
PlanoDesc ON CPAGAR.CODCATEGORIA = PlanoDesc.CODIGO INNER JOIN
EMPRESAS ON CPAGAR.CODLOJA = EMPRESAS.CODIGO INNER JOIN
TIPO ON CPAGAR.CODTIPO = TIPO.CODIGO INNER JOIN
FORNECEDORES ON CPAGAR.CODREF = FORNECEDORES.CODIGO INNER JOIN
Planos ON CPAGAR.CODPLANO = Planos.CODIGO
O erro que da no vb é este Ambiguous column name [ô]codigo[ô].
Desde já agradeço a ajuda de todos.
Eu uso o vb 6.0 com o sql express 2005. E esta dando um erro esquisito.
No sql roda normal este select com inner join, porem no vb ele da um erro de ambiguous column name.
Segue o sql
SQL = [Ô]SELECT C.CODIGO AS CODPAGAR, F.NOME, E.NOME AS nomeempresa, P.plano, PD.descricao, [Ô]
SQL = SQL & [Ô]C.DOCUMENTO, C.SERIE, C.VENCIMENTO , C.VALORTOTAL, C.VALORTITULO, F.CODIGO AS CODFORN, E.CODIGO AS CODEMPRESA, P.CODIGO AS CODIGOPLANO, PD.CODIGO AS CODPD, T.CODIGO AS CODIGOTIPO FROM [Ô]
SQL = SQL & [Ô] (((((CPAGAR as C INNER JOIN Planos as P ON C.CODPLANO = P.CODIGO) INNER JOIN FORNECEDORES as F ON C.CODREF = [Ô]
SQL = SQL & [Ô] F.CODIGO) INNER JOIN TIPO AS T ON C.CODTIPO = T.CODIGO) INNER JOIN PlanoDesc AS PD ON C.CODCATEGORIA [Ô]
SQL = SQL & [Ô] = PD.CODIGO) INNER JOIN EMPRESAS AS E ON C.CODLOJA = E.CODIGO) [Ô]
segue o sql que eu escrevi dentro do sql express 2005 e rodou.
SELECT CPAGAR.CODIGO, FORNECEDORES.NOME, EMPRESAS.NOME AS Expr1, Planos.plano, PlanoDesc.descricao, CPAGAR.DOCUMENTO, CPAGAR.VENCIMENTO,
CPAGAR.VALORTOTAL, CPAGAR.VALORTITULO
FROM CPAGAR INNER JOIN
PlanoDesc ON CPAGAR.CODCATEGORIA = PlanoDesc.CODIGO INNER JOIN
EMPRESAS ON CPAGAR.CODLOJA = EMPRESAS.CODIGO INNER JOIN
TIPO ON CPAGAR.CODTIPO = TIPO.CODIGO INNER JOIN
FORNECEDORES ON CPAGAR.CODREF = FORNECEDORES.CODIGO INNER JOIN
Planos ON CPAGAR.CODPLANO = Planos.CODIGO
O erro que da no vb é este Ambiguous column name [ô]codigo[ô].
Desde já agradeço a ajuda de todos.
agora não existe problema nenhum em rodar a query que rodou no banco
veja
SQL = SQL & [Ô]SELECT CPAGAR.CODIGO, FORNECEDORES.NOME, EMPRESAS.NOME AS Expr1, Planos.plano,[Ô]
SQL = SQL & [Ô]PlanoDesc.descricao, CPAGAR.DOCUMENTO, CPAGAR.VENCIMENTO, [Ô]
SQL = SQL & [Ô]CPAGAR.VALORTOTAL, CPAGAR.VALORTITULO[Ô]
SQL = SQL & [Ô]FROM CPAGAR INNER JOIN [Ô]
SQL = SQL & [Ô]PlanoDesc ON CPAGAR.CODCATEGORIA = PlanoDesc.CODIGO INNER JOIN [Ô]
SQL = SQL & [Ô]EMPRESAS ON CPAGAR.CODLOJA = EMPRESAS.CODIGO INNER JOIN [Ô]
SQL = SQL & [Ô]TIPO ON CPAGAR.CODTIPO = TIPO.CODIGO INNER JOIN [Ô]
SQL = SQL & [Ô]FORNECEDORES ON CPAGAR.CODREF = FORNECEDORES.CODIGO INNER JOIN [Ô]
SQL = SQL & [Ô]Planos ON CPAGAR.CODPLANO = Planos.CODIGO[Ô]
se não funcionar só reveja algumas coisas da query que postou
tipo C.CODPLANO = P.CODIGO, eu não vi [txt-color=#e80000]C.CODPLANO[/txt-color] declarada antes do FROM, e a P.CODIGO foi atribuido um apelido porque não usa-lo tipo C.CODPLANO = CODIGOPLANO
verifique estas inconsistência
veja
SQL = SQL & [Ô]SELECT CPAGAR.CODIGO, FORNECEDORES.NOME, EMPRESAS.NOME AS Expr1, Planos.plano,[Ô]
SQL = SQL & [Ô]PlanoDesc.descricao, CPAGAR.DOCUMENTO, CPAGAR.VENCIMENTO, [Ô]
SQL = SQL & [Ô]CPAGAR.VALORTOTAL, CPAGAR.VALORTITULO[Ô]
SQL = SQL & [Ô]FROM CPAGAR INNER JOIN [Ô]
SQL = SQL & [Ô]PlanoDesc ON CPAGAR.CODCATEGORIA = PlanoDesc.CODIGO INNER JOIN [Ô]
SQL = SQL & [Ô]EMPRESAS ON CPAGAR.CODLOJA = EMPRESAS.CODIGO INNER JOIN [Ô]
SQL = SQL & [Ô]TIPO ON CPAGAR.CODTIPO = TIPO.CODIGO INNER JOIN [Ô]
SQL = SQL & [Ô]FORNECEDORES ON CPAGAR.CODREF = FORNECEDORES.CODIGO INNER JOIN [Ô]
SQL = SQL & [Ô]Planos ON CPAGAR.CODPLANO = Planos.CODIGO[Ô]
se não funcionar só reveja algumas coisas da query que postou
tipo C.CODPLANO = P.CODIGO, eu não vi [txt-color=#e80000]C.CODPLANO[/txt-color] declarada antes do FROM, e a P.CODIGO foi atribuido um apelido porque não usa-lo tipo C.CODPLANO = CODIGOPLANO
verifique estas inconsistência
TReze se eu te contar onde estava o erro tu vai rir. o sql estava certo. o problema era depois do where. De klker forma muito obrigado pela ajuda.
Tópico encerrado , respostas não são mais permitidas