Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/03/2014, 12:22
dgrvedado
 
Fecha de Ingreso: diciembre-2010
Ubicación: Asunción
Mensajes: 41
Antigüedad: 13 años, 4 meses
Puntos: 1
Mostrar datos SQL Server

Tengo una sentecnia de SQL Server que al hacer while con mssql_fetch_assoc no muestra nada:

$sql = "
CREATE TABLE #facturas(
CODIGO_FACTURA INT,
FECHA_PAGARE SMALLDATETIME,
NROFACTURA VARCHAR(25) NULL,
TOTAL_FACTURA FLOAT,
STOCK VARCHAR(50) NULL,
MONTO_PAGARE FLOAT NULL,
CUOTA INT
)

INSERT INTO #facturas(CODIGO_FACTURA, FECHA_PAGARE, NROFACTURA, TOTAL_FACTURA, STOCK, MONTO_PAGARE, CUOTA)
SELECT
T2.DocNum as codigo_Factura,
T4.DueDate as fecha_pagare,
T2.NumAtCard as nrofactura,
T2.DocTotalFC as totalFactura,
T3.ItemCode as stock,
T4.InsTotalFC as monto_pagare,
T4.InstlmntID as cuota
FROM OINV T2
INNER JOIN INV1 T3 ON T2.DocEntry = T3.DocEntry
INNER JOIN INV6 T4 ON T2.DocEntry = T4.DocEntry

CREATE TABLE #recibos(
COD_RECIBO INT,
NRO_RECIBO VARCHAR(15),
FECHA_RECIBO SMALLDATETIME,
COD_CLIENTE varchar(25),
CLIENTE VARCHAR(200),
MONEDA VARCHAR(10),
COD_STOCK VARCHAR(25),
FECHA_RETENCION SMALLDATETIME,
NRO_RETENCION VARCHAR(25),
RETENCION_GS FLOAT,
RETENCION_EX FLOAT,
FACTURA_VENTA VARCHAR(25),
CHEQUE_IMPORTE_GS FLOAT,
CHEQUE_IMPORTE_Ex FLOAT,
CHEQUE_NRO VARCHAR(25),
CHEQUE_BANCO VARCHAR(100),
CHEQUE_VTO SMALLDATETIME,
EFECTIVO_IMPORTE_GS FLOAT,
EFECTIVO_IMPORTE_EX FLOAT,
CHEQUE_MONEDA VARCHAR(10),
EFECTIVO_MONEDA VARCHAR(10),
CUOTA_VENTA FLOAT,
NRO_CUOTA INT,
BOLETA_DEPOSITO VARCHAR(25),
ESTADO_CHEQUE VARCHAR(25),
BANCO_DESTINO VARCHAR(50),
TOTAL_RECIBO_GS FLOAT,
TOTAL_RECIBO_EX FLOAT,
CHEQUE_FECHA_COBRO SMALLDATETIME,
COMENTARIO VARCHAR(200),
EMPRESA VARCHAR(150),
RUC VARCHAR(50),
SUCURSAL VARCHAR(50)
)
INSERT INTO #recibos(COD_RECIBO, FECHA_RECIBO, COD_CLIENTE, CLIENTE, MONEDA, NRO_RECIBO, FECHA_RETENCION, NRO_RETENCION, RETENCION_GS, RETENCION_EX, COD_STOCK, FACTURA_VENTA, NRO_CUOTA, COMENTARIO, EMPRESA, RUC, SUCURSAL)
SELECT
T0.DocNum AS COD_RECIBO,
T0.DocDate AS FECHA_RECIBO,
T0.CardCode AS COD_CLIENTE,
T0.CardName AS CLIENTE,
T0.DocCurr AS MONEDA,
T0.CounterRef AS NRO_RECIBO,
T0.TrsfrDate AS FECHA_RETENCION,
T0.TrsfrRef AS NRO_RETENCION,
isnull(T0.TrsfrSum,0) AS RETENCION_GS,
0 AS RETENCION_EX,
T3.ItemCode AS COD_STOCK,
T2.NumAtCard AS FACTURA_VENTA,
T1.InstId AS NRO_CUOTA,
T0.JrnlMemo AS COMENTARIO,
H.CompnyName,H.RevOffice,
T0.U_Sucursal as sucursal
FROM OADM H, ORCT T0
INNER JOIN RCT2 T1 ON T0.DocNum = T1.DocNum
INNER JOIN OINV T2 ON T1.baseAbs = T2.DocEntry
INNER JOIN INV1 T3 ON T2.DocEntry = T3.DocEntry
WHERE T0.TrsfrSum > 0
AND t0.DocCurr = 'GS'
AND T0.Canceled <> 'Y'
AND T0.DocDate = '".$ayer."'
AND t0.U_sucursal <> 'NULL'
UNION
....
UNION
...
UNION
...
UNION
...
UNION
...
UNION
...
UNION
...
UNION
...
UNION
SELECT
T0.DOCNUM AS COD_RECIBO,
T0.DocDate AS FECHA_RECIBO,
T0.CounterRef AS NRO_RECIBO,
T0.CARDCODE AS COD_CLIENTE,
T0.CARDNAME AS CLIENTE,
0 AS EFECTIVO_IMPORTE_GS,
isnull(T0.CashSumFC,0) AS EFECTIVO_IMPORTE_EX,
T0.DiffCurr AS EFECTIVO_MONEDA,
'' AS COD_STOCK,
'' AS FACTURA_VENTA,
T0.DocCurr AS MONEDA,
'' AS NRO_CUOTA,
T0.JrnlMemo AS COMENTARIO,
H.CompnyName,H.RevOffice,
T0.U_Sucursal as sucursal
from OADM H, ORCT T0
WHERE T0.CashSumFC > 0
AND T0.DiffCurr = 'N'
AND T0.Canceled <> 'Y'
AND T0.DocDate = '".$ayer."'
and t0.U_sucursal <> 'NULL'

UPDATE #recibos SET CUOTA_VENTA = MONTO_PAGARE
FROM #facturas

WHERE CUOTA = NRO_CUOTA AND COD_STOCK = stock

UPDATE #recibos SET TOTAL_RECIBO_GS = DOCTOTAL,
TOTAL_RECIBO_EX = dOCTOTALFC
FROM ORCT WHERE cod_recibo = DocNum

create table #stock_(
recibo_codigo int,
codigo_notaDebito int,
codigo_stock varchar(15) null
)

INSERT INTO #stock_ (recibo_codigo, codigo_notaDebito, codigo_stock)
SELECT c.docnum, c.baseAbs, o.U_Stock
FROM RCT2 c INNER JOIN OINV o ON c.baseAbs = o.DocEntry

UPDATE #recibos SET COD_STOCK = codigo_stock
FROM #stock_ WHERE cod_recibo = recibo_codigo

SELECT * FROM #recibos WHERE FECHA_RECIBO = '".$ayer."'

GROUP BY ... ORDER BY COD_RECIBO";
/*DROP TABLE #recibos
DROP TABLE #facturas
DROP TABLE #stock_*/
}
while($row = mssql_fetch_assoc(mssql_query($sql))) {
print_r($row);
}
Si copio y pego en el Console Manager de SQL Server, se muestra bien la consulta y datos.