Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/10/2013, 16:26
Avatar de shake2427
shake2427
 
Fecha de Ingreso: julio-2011
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 3
procedimientos almacenados

buenas


quiero saber si se puede realizar esto,

Código SQL:
Ver original
  1. IF (p_rolusuario = 'DISTRIBUIDOR') THEN
  2.             AND b.fecha_recarga BETWEEN p_fechainicial AND p_fechafinal;
  3.         END IF;

o tengo que poner toda la consulta de nuevo.
el procedimiento completo es el siguiente.
Código MySQL:
Ver original
  1. CREATE DEFINER=`root`@`localhost` PROCEDURE `Consulta_recargas_detallado`(
  2.     IN p_rolusuario varchar(20),
  3.     IN p_IDusuario int(11),
  4.     IN p_fechainicial datetime,
  5.     IN p_fechafinal datetime
  6. )
  7.  
  8.     IF (p_rolusuario = 'DISTRIBUIDOR') THEN
  9.  
  10.     SELECT  a.fecha_venta,
  11.             a.num_iden_cliente as Identificacion,
  12.             a.nombre_Cliente as Cliente,
  13.             a.numero_icc as numero_icc,
  14.             a.celular as numero_celular,        
  15.             b.Valor_recarga as valor_recarga,
  16.             case d.nombre
  17.               when "SIN_NEGOCIO" then d.persona_contacto
  18.               else concat(d.Nombre,d.Apellido)
  19.             end as Negocio,
  20.             b.fecha_recarga,
  21.             b.fecha_Actualizacion
  22.         FROM distribxnegocio c
  23.         INNER JOIN radicaciones a ON a.Id_Radicaciones = c.Id_Radicaciones
  24.         INNER JOIN recargas b ON b.Id_Ditribuidorxnegocio = c.Id_DistribuidorxNegocio
  25.         INNER JOIN negocios d ON d.Id_Negocio = c.Id_negocio
  26.         where a.Celular = b.num_celular
  27.         AND a.producto = "PREPAGO"
  28.         AND a.id_radicaciones = c.id_radicaciones
  29.         AND a.numero_icc = a.Numero_Icc
  30.         AND c.id_distribuidor in (select id_distribuidores from distribuidores where id_usuario = p_IDusuario)
  31.         AND c.estado = 1
  32.         AND a.estado = 1
  33.         AND b.estado = 1;
  34.  
  35.            IF (p_rolusuario = 'DISTRIBUIDOR') THEN
  36.             AND b.fecha_recarga BETWEEN p_fechainicial AND p_fechafinal;
  37.         end if;
  38.  
  39.        
  40.        
  41.     END IF;