SQL Server - exluir saldos con 0

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

exluir saldos con 0

Publicado por Agustin (2 intervenciones) el 17/02/2020 20:27:48
buenas tardes, tengo el siguiente procedimiento en sql sserver

1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT c.CUENTA, SUBSTRING(	c.NOMBRE,0,23) AS 'NOMBRE', SUBSTRING((c.CALLE + ' ' +CONVERT(VARCHAR(50),c.NRO)),0,22) AS 'DOMICILIO', c.CIUDAD,c.TELEFONO, c.cuit,
 
 
(SELECT isnull(sum([dbo].[obtieneSaldoSegunTipoDebe](tdv.CONCEPTO,mcc.TOTAL))- sum([dbo].[obtieneSaldoSegunTipoHaberInforme](tdv.CONCEPTO,mcc.TOTAL)),0)
FROM mOVCtasCtes mcc LEFT JOIN dbo.TablaDeVentas tdv	ON tdv.TIPO = mcc.TIPO WHERE MCC.CUENTA=c.CUENTA and cast(mcc.periodofecha as date)  <=  cast(@fechahasta as date) ) as 'SALDO'
 
FROM mOVCtasCtes mcc LEFT JOIN dbo.TablaDeVentas tdv	ON tdv.TIPO = mcc.TIPO
LEFT JOIN dbo.Clientes c	ON C.CUENTA=MCC.CUENTA
where c.nombre is not null
and MCC.TOTAL > 0
GROUP BY  c.CUENTA, c.NOMBRE, c.CALLE, c.NRO, c.CIUDAD, c.TELEFONO, c.cuit
ORDER BY c.NOMBRE
END

como ven allí un select dentro de () da como resultado una columna que denomino 'SALDO', lo que quiero saber es como evitar que me aparezcan los que tienen saldo 0
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
Imágen de perfil de Francisco
Val: 73
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

exluir saldos con 0

Publicado por Francisco (29 intervenciones) el 19/02/2020 14:15:42
Hola
Agregando la misma sentencia que calcula el SALDO en el WHERE


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
SELECT c.cuenta,
	SUBSTRING(c.nombre, 0, 23) AS 'nombre',
	SUBSTRING((c.calle + ' ' + CONVERT(VARCHAR(50), c.NRO)), 0, 22) AS 'domicilio',
	c.ciudad,
	c.telefono,
	c.cuit,
	(SELECT ISNULL( SUM( obtieneSaldoSegunTipoDebe(tdv.concepto, mcc.total)) - SUM( obtieneSaldoSegunTipoHaberInforme(tdv.conceopto, mcc.total) ), 0)
		FROM movCtasCtes mcc
		LEFT JOIN dbo.TablaDeVentas tdv
			ON tdv.tipo = mcc.tipo
		WHERE
			mcc.cuenta = c.cuenta
			AND CAST( mcc.periodofecha AS date ) <= CAST(@fechahasta AS date) ) AS 'saldo'
FROM movCtasCtes mcc
	LEFT JOIN dbo.TablaDeVentas tdv	ON tdv.tipo = mcc.tipo
	LEFT JOIN dbo.Clientes c ON c.cuenta=mcc.cuenta
WHERE
	    c.nombre IS NOT NULL
	AND mcc.total > 1
	AND (SELECT ISNULL( SUM( obtieneSaldoSegunTipoDebe(tdv.concepto, mcc.total)) - SUM( obtieneSaldoSegunTipoHaberInforme(tdv.conceopto, mcc.total) ), 0)
			FROM movCtasCtes mcc
			LEFT JOIN dbo.TablaDeVentas tdv
				ON tdv.tipo = mcc.tipo
			WHERE
				mcc.cuenta = c.cuenta
				AND CAST( mcc.periodofecha AS date ) <= CAST(@fechahasta AS date) ) <> 0
GROUP BY  c.cuenta, c.nombre, c.calle, c.nro, c.ciudad, c.telefono, c.cuit
ORDER BY c.nombre

Saludos
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