Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-06-2018
GINMARMENOR GINMARMENOR is offline
Miembro
 
Registrado: feb 2016
Posts: 70
Poder: 9
GINMARMENOR Va por buen camino
Filtro Sql en campo cómun a dos tablas

Buenas noches, tengo dos tablas Pedidos y Pedidos Ampliación, con el campo en común que se Partida, quiero filtrar sólo una partida en Rave Report, que justamente es la del campo en camún, pero me da el siguiente error "attempt to execute an unprepared dynamic sql statement", en cambio filtro por otro campo y funciona, no sé si será por que filtro sólo por el campo en común que es "PARTIDA", podríais ayudarme, éste es el código.

Código Delphi [-]
procedure TFormCuadroPartida.Button1Click(Sender: TObject);
begin
  formListados.IBQueryPedidosyPedidosAmpliacion.Filtered:=false;
  FormLIstados.IBQueryPedidosyPedidosAmpliacion.Active;
  FormLIstados.IbQuerypedidosyPedidosAmpliacion.Filtered:=true;
  with FormListados.IBQueryPedidosyPedidosAmpliacion do
  begin
    close;
    sql.Clear;
    sql.Text:='Select * from pedidos inner join PedidosAmpliacion on pedidos.partida=PedidosAmpliacion.Partida where partida=' 
      + Quotedstr (EditPartida.text);
    open;
    FormListados.RvProyectoPedidos.ExecuteReport('ReportQueryPartida');
  end;
end;

Gracias.

Última edición por ecfisa fecha: 26-06-2018 a las 02:16:15. Razón: Corregir error interfaz mejorada (WYSIWYG)
Responder Con Cita
  #2  
Antiguo 26-06-2018
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 20
olbeup Va camino a la fama
Hola GINMARMENOR,

No es un error sino una ambigüedad, el motor de base de datos no sabe por cual tiene que filtrar, por pedidos o PedidosAmpliacion, si es por pedidos en el where tienes que poner pedidos.partida y si por la otra pues lo mismo PedidosAmpliacion.partida.

Seguramente cuando pones otro campo ese campo no está en la otra tabla y al no estar el motor de base de datos asume por defecto la tabla.

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #3  
Antiguo 26-06-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Código SQL [-]
Select p.* from pedidos p 
inner join PedidosAmpliacion a on p.partida=a.Partida where p/a.partida=
Como dice olbeup, no sabe a qué partida se refiere, pon siempre alias para tener claro a qué tabla te refieres cuando trabajas con más de una en una sentencia.
Responder Con Cita
  #4  
Antiguo 26-06-2018
GINMARMENOR GINMARMENOR is offline
Miembro
 
Registrado: feb 2016
Posts: 70
Poder: 9
GINMARMENOR Va por buen camino
Gracias¡¡¡¡, funciona
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Filtro con 2 tablas GonzaloDias Varios 10 23-04-2012 13:42:50
Tablas relacionadas por una campo en comun mjjj SQL 4 02-10-2008 01:03:14
filtro entre dos tablas en tiempo de ejecucion Goyo OOP 16 26-09-2006 22:39:31
Campo LookUp y Filtro !!! vpepen Varios 18 19-11-2005 13:35:46
tablas con filtro davidgaldo Conexión con bases de datos 2 20-02-2004 20:09:09


La franja horaria es GMT +2. Ahora son las 00:53:59.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi