Página 1 de 1
Erro em comando SQL no Mediator
Enviado: 08 Mar 2010 09:15
por janio
Olá a todos,
O comando SELECT a13sgp.codigo, a13sgp.descri, a13gpr.descri FROM a13sgp INNER JOIN a13gpr ON a13gpr.codigo = a13sgp.codgrp funciona perfeitamente num front. Porém, quando executado pelo MEDIATOR dá erro porque, na tabela temporária que ele precisa criar, irão existir DOIS CAMPOS iguais (a13sgp.descri e a13gpr.descri).
Como resolver isso?
Re: Erro em comando SQL no Mediator
Enviado: 08 Mar 2010 09:58
por alxsts
Olá!
Tente utilizar um alias de coluna:
Código: Selecionar todos
SELECT a13sgp.codigo, a13sgp.descri, a13gpr.descri DescriGpr
FROM a13sgp INNER JOIN a13gpr ON a13gpr.codigo = a13sgp.codgrp
Re: Erro em comando SQL no Mediator
Enviado: 08 Mar 2010 12:56
por janio
Na mosca!
Funcionou belezinha.
Aproveitando...
Os dois códigos abaixo fazem a mesma coisa. Ou seja, vão numa outra tabela buscar a correspondência referenciada pelo codigo.
Código: Selecionar todos
SELECT a13sgp.codigo, a13sgp.descri, a13gpr.descri DescriGpr FROM a13sgp INNER JOIN a13gpr ON a13gpr.codigo = a13sgp.codgrp
e
SELECT a13sgp.codigo, a13sgp.descri, a13gpr.descri DescriGpr FROM a13sgp, a13gpr WHERE a13gpr.codigo = a13sgp.codgrp
Qual a diferença entre os dois?? OU qual o melhor a usar nesse caso? Qual mais rápido?
Re: Erro em comando SQL no Mediator
Enviado: 08 Mar 2010 14:24
por alxsts
Olá!
A diferença é o padrão da sintaxe.
A primeira sentença, com INNER JOIN, é o padrão ANSI e a segunda está no padrão não ANSI (chamado Theta).
Veja
êste exemplo baseado no Postgre.