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.