Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Left Join con parámetro (https://www.clubdelphi.com/foros/showthread.php?t=33928)

lucasarts_18 20-07-2006 20:26:21

Left Join con parámetro
 
Hola:

Tengo una consulta especialmete para mostrarla en un reporte, con bien se sabe los reportes se confecionan para que tenga varias formar de mostrar registros, es decir a través de varios parametros.

Aquí tengo mi consulta:

Código SQL [-]
SELECT         
  ESC.SIGLA_ESCUELA,         
  DECODE(NOM.FEC_NOMBRA,NULL,NOM.FEC_INI_NOMBRA) AS MES,
  TO_CHAR(DECODE(NOM.FEC_NOMBRA,NULL,NOM.FEC_INI_NOMBRA),'MONTH') AS MES2,
  SUM(FX_COSTO_PROFESOR (
          NOM.ANO_ACADEMICO,NOM.COD_ESCUELA,
          NOM.COD_NOMBRA )) AS COSTO
  FROM PRF_NOMBRAMIENTO NOM,
           PRF_ESCUELA ESC,
           PRF_SEGUIMIENTO SEG
  WHERE NOM.ANO_ACADEMICO  = I_ANO_ACADEMICO
     AND NOM.COD_ESCUELA       = ESC.COD_ESCUELA
     AND NOM.RUN                     = I_RUN      *****Aquí quiero que muestra los registros aunque no haya coincidencia*****
     AND SEG.COD_ESTADO_SEG  = I_OPCION
     AND SEG.ANO_ACADEMICO    = NOM.ANO_ACADEMICO
     AND SEG.COD_ESCUELA        = NOM.COD_ESCUELA
     AND SEG.COD_NOMBRA         = NOM.COD_NOMBRA
     AND SEG.ESTADO                = 'VIGENTE'       
  GROUP BY ESC.SIGLA_ESCUELA,
                NOM.FEC_NOMBRA,
                NOM.FEC_INI_NOMBRA
  ORDER BY NOM.FEC_NOMBRA ASC

Hay un parametro que es I_RUN y me gustaría saber como puedo hacer que si no encuentra coincidencia me muestre igualmente los registros, espero que se entienda :o.

Gracias..

Hasta Luego -

vtdeleon 20-07-2006 23:39:24

Pues si quitas esa linea, obtendras el resultados porque dara lo mismo qeu tenga o no parametros. No?

lucasarts_18 20-07-2006 23:54:53

Hola:

Me acabo de enterar que los LeftJoin son para comparar con tablas con tablas, no con parametros, en cuanto al rut, es importante que vaya, si lo quito me calcula el valor de todos los profesores agrupados por escuelas.

La idea es sencilla si existe un Rut, me calcula el valor solamente de esa persona, en cambio si no existe tal rut (que lo mando a proposito ) calculo todos los costos de los profesores.

Veo que la unica solución es modificar esto en el procedimeinto almacenado poner un IF, si rut existe hacer tal consulta, si no existe haga esta otra consulta, solución que no me agrada mucho.

Gracias...por tu atención :)


La franja horaria es GMT +2. Ahora son las 02:22:29.

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