Cita:
Iniciado por gnzsoloyo
Estás pisando lo que contiene la variable.
Lo único que termina quedando es esto:
Debes encadenar lo que ya tiene la variable con lo que le agregas.
ya logre que me uniera toda la consulta el codigo es el siguiente
Código SQL:
Ver original-- --------------------------------------------------------------------------------
-- Routine DDL
-- Note: comments before and after the routine body will not be stored by the server
-- --------------------------------------------------------------------------------
DELIMITER $$
CREATE PROCEDURE `movistarmoviles_dev`.`recargas_detallado_agente` (
IN p_iniciolimit INT,
IN p_finlimit INT,
IN p_fechainicial datetime,
IN p_fechafinal datetime
)
BEGIN
SET @qryrecdene = concat('SELECT a.fecha_venta,
b.cod_vendedor as codigo_vendedor,
b.nom_vendedor as Nombre_vendedor,
a.num_iden_cliente as Identificacion,
a.nombre_Cliente as Cliente,
a.numero_icc as numero_icc,
a.celular as numero_celular,
b.Valor_recarga as valor_recarga,
(select nombre
from distribuidores
where id_distribuidores = (select id_distribuidor
from distribxnegocio
where id_radicaciones = a.id_radicaciones)) as Distribuidor,
(select nombre
from negocios
where id_negocio in (select id_negocio from distribxnegocio where id_radicaciones = a.id_radicaciones) ) as Negocio,
b.fecha_recarga,
b.fecha_Actualizacion
FROM radicaciones a, recargas b, distribxnegocio c
where a.Celular = b.num_celular
AND a.producto ="PREPAGO"
and a.id_radicaciones = c.id_radicaciones
and a.numero_icc = (select numero_icc from simcard where id_simcard = c.id_simcard)
' );
IF ((p_fechainicial != 0) AND (p_fechafinal != 0)) THEN
SET @qryrecdene. = concat('AND b.fecha_recarga between ', p_fechainicial ,' AND ', p_fechafinal);
END IF;
SET @qryrecdene. = concat('order by Negocio');
SET @qryrecdene. = concat('LIMIT ', p_iniciolimit ,',', p_finlimit);
PREPARE qryexnede FROM @qryrecdene;
EXECUTE qryexnede;
END
quiero saber si la condicion del IF esta bien realizada es que estoy llamando el procedimiento de la siguiente forma
call recargas_detallado_agente(1,1000,'2012-11-01','2012-11-13')
y ahi deveria entrar al if y poner el filtro en la consulta pero no me lo pone.