SQL Server - No trae registros indicados

 
Vista:
sin imagen de perfil
Val: 2
Ha aumentado su posición en 7 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

No trae registros indicados

Publicado por Yonatan (3 intervenciones) el 11/02/2019 19:55:51
Estimados

solicito ayuda ya que con la siguiente consulta no me trae la fecha y monto cuando la ejecuto.

SELECT DC.CLIENTE,DC.DOCUMENTO,DC.CONDICION_PAGO,DC.FECHA,DC.FECHA_VENCE,DC.TIPO,DC.MONTO,DC.SALDO,
SUM(AC.MONTO_DEBITO) AS MONTO_ABONADO,MAX(AC.FECHA) AS FECHA_ABONO,YEAR(DC.FECHA) AS AÑO,DATEDIFF(DAY,DC.FECHA,MAX(AC.FECHA)) AS DIAS





FROM EVANSCOL.DOCUMENTOS_CC DC
LEFT JOIN EVANSCOL.AUXILIAR_CC AC ON DC.DOCUMENTO=AC.DEBITO
AND DC.CLIENTE=AC.CLI_REPORTE_CREDIT
AND DC.TIPO=AC.TIPO_DEBITO
AND DC.TIPO=AC.TIPO_CREDITO
WHERE CLIENTE='890900490-7' and DOCUMENTO='FDMI-4086'

GROUP BY ac.CLI_REPORTE_CREDIT,DOCUMENTO,DC.FECHA,DC.FECHA_VENCE,DC.TIPO,DC.SALDO,DC.CONDICION_PAGO,DC.CLIENTE,AC.DEBITO,ac.FECHA,DC.MONTO

-----

CLIENTE DOCUMENTO CONDICION_PAGO FECHA FECHA_VENCE TIPO MONTO SALDO MONTO_ABONADO FECHA_ABONO AÑO DIAS
890900490-7 FDMI-4086 30 2018-08-27 00:00:00.000 2018-09-26 00:00:00.000 FAC 3682277.00000000 0.00000000 NULL NULL 2018 NULL
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 8
Ha aumentado su posición en 2 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

No trae registros indicados

Publicado por raul (3 intervenciones) el 12/02/2019 16:47:15
Vamos por parte
segun tu escrito si te esta debolviendo algo aunque no presisamente lo que tu esperabas.

1- Esta parte del codigo me llama la atención

FROM EVANSCOL.DOCUMENTOS_CC DC
LEFT JOIN EVANSCOL.AUXILIAR_CC AC ON DC.DOCUMENTO=AC.DEBITO
AND DC.CLIENTE=AC.CLI_REPORTE_CREDIT
AND DC.TIPO=AC.TIPO_DEBITO
AND DC.TIPO=AC.TIPO_CREDITO


¿Porque una relación tan compleja y restrictitiva?; seria más facil hacer una view aparte y redirigir esta hacia la nueva view

2- Si no necesitas las horas porque no antepones al select [set dateformat dmy;]
3- Estas manejando formulas e incorporas una instacia GROUP sin manejar los posibles valores NULL
Que muchas veces no te da los resultados esperados pues se atora con los valores NULL o sea que debes incorporar este tipo de instancias
isnull(DATEDIFF(DAY,DC.FECHA,MAX(AC.FECHA)) , getdate())

4-Aunque trabajes más; masticale mejor al server la situación, a traves de views intermedias o de subconsultas anidadas para darle al server la posibilidad de un trabajo lineal
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar