Ver Mensaje Individual
  #3  
Antiguo 10-10-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
guillotmarc Va por buen camino
Hola.

A mi no me parece que se pueda construir una consulta mejor que esa, que haga este calculo.

Lo único seria quizá ponerlo en un procedimiento almacenado, para no tener que construir dinamicamente la sentencia SQL. Pero el rendimiento seria similar, ya que tendría que hacerlo igual : para cada registro, mirar si está con el '5', mirar con el '6', etc. ...

Un ejplo en Firebird :

Código:
for select ID
    from Tabla
    into :ID  
do begin
   if ((:P1 is null) or (:P1 in select Modelo From Relacionada where ID = :ID)) and
      ((:P1 is null) or (:P1 in select Modelo From Relacionada where ID = :ID)) and
      ....... 
      ((:Pn is null) or (:Pn in select Modelo From Relacionada where ID = :ID)) then begin
       suspend;
   end 
end;
NOTA : El Or lo puedes simplificar un poco con un :

WHERE ... ID_MODELO in ('5', '6', ...)

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).

Última edición por guillotmarc fecha: 10-10-2003 a las 15:49:14.
Responder Con Cita