Erro em comando SQL no Mediator

Discussão sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

Erro em comando SQL no Mediator

Mensagempor janio » 08 Mar 2010 09:15

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?
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour 99.70 + wvt + hwgui + Mediator + MySql
Avatar de usuário

janio
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 717
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE

Re: Erro em comando SQL no Mediator

Mensagempor alxsts » 08 Mar 2010 09:58

Olá!

Tente utilizar um alias de coluna:
SELECT a13sgp.codigo, a13sgp.descri, a13gpr.descri DescriGpr
  FROM a13sgp INNER JOIN a13gpr ON a13gpr.codigo = a13sgp.codgrp
[]´s
Alexandre Santos (AlxSts)
alxsts
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 514
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil

Re: Erro em comando SQL no Mediator

Mensagempor janio » 08 Mar 2010 12:56

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.

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?
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour 99.70 + wvt + hwgui + Mediator + MySql
Avatar de usuário

janio
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 717
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE

Re: Erro em comando SQL no Mediator

Mensagempor alxsts » 08 Mar 2010 14:24

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.
[]´s
Alexandre Santos (AlxSts)
alxsts
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 514
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil


Retornar para Banco de Dados

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante

cron