El codigo de mi proceso almacenado es el siguiente:
==================================================
Código
ALTER PROCEDURE [dbo].[comparar_ventas_meses] @f_inicio AS DATE, @f_fin AS DATE, @gestora AS nvarchar(100) AS BEGIN SELECT MONTH(SalesDate) AS mes, SUM(paytotal) AS VENTA_ACT, 0 AS VENTA_ANT INTO #tmpResumen FROM _RetailData..RECEIPT INNER JOIN _RetailData..STORE ON RECEIPT.StoreNo = store.StoreNo WHERE CAST(SalesDate AS DATE) BETWEEN @f_inicio AND @f_fin AND RECEIPT.StatusCode = 'A' AND RECEIPT.SalesCode IN ('S', 'R') AND STORE.ActiveStatus=1 AND STORE.StoreNo IN (SELECT idtienda FROM Administrator..tbgestoras_tienda WHERE idgestora =@gestora) GROUP BY MONTH(SalesDate) UNION ALL SELECT MONTH(SalesDate) AS mes, 0 AS VENTA_ACT, SUM(paytotal) AS VENTA_ANT FROM _RetailData..RECEIPT INNER JOIN _RetailData..STORE ON RECEIPT.StoreNo = store.StoreNo WHERE CAST(SalesDate AS DATE) BETWEEN DATEADD(DD, -365, @f_inicio) AND DATEADD(DD, -365, @f_fin) AND RECEIPT.StatusCode = 'A' AND RECEIPT.SalesCode IN ('S', 'R') AND STORE.ActiveStatus=1 AND STORE.StoreNo IN (SELECT idtienda FROM Administrator..tbgestoras_tienda WHERE idgestora =@gestora) GROUP BY MONTH(SalesDate) SELECT mes, CAST(SUM(venta_act) AS DECIMAL(18,2)) AS actual, CAST(SUM(venta_ant) AS DECIMAL(18,2)) AS anterior, CAST((SUM(venta_act)/SUM(venta_ant) -1) * 100 AS DECIMAL(18,2) AS crecimiento FROM #tmpResumen GROUP BY mes HAVING NOT (SUM(venta_act) = 0 AND SUM(venta_ant) = 0) END
=================================================
y mi codigo php es el siguiente:
Código
$gestora='pescobar'; $mes=0; $actual=0; $anterior=0; $crecimiento=0; include ("seguro.php"); global $HOSTNAME, $USERNAME, $PASSWORD, $DATABASE; $conexion = sqlsrv_connect($HOSTNAME, $info); $sql_preg="EXEC comparar_ventas_meses ?, ?, ?"; &$f_inicial, &$f_final, &$gestora); $registros = sqlsrv_prepare( $conexion,$sql_preg, $params); if (sqlsrv_execute($registros)) { while ($id= sqlsrv_fetch_array($registros)) { echo $id['actual']; } } else { }
por favor ayudenme ya que llevo dias buscando en internet y no enucentro ninguna solucion.