Unire due SELECT

giovedì 22 aprile 2010 - 09.01

lordwaizard Profilo | Senior Member

Ho i seguenti due SELECT e funzionano perfettamente.

SELECT r, SUM(importo) AS [dare] FROM primanota WHERE annofis = 0 AND dare <> 0 GROUP BY r
SELECT r, SUM(importo) AS [avere] FROM primanota WHERE annofis = 0 AND avere <> 0 GROUP BY r

Avrei la necessità di prendere il risultato della prima e sottrarlo con la seconda filtrando la differenza che sia diversa da zero.

ESEMPIO TABELLA
r dare avere importo
1 1000 0 1000
1 0 1000 1000
2 700 0 900
2 0 700 500

ESEMPIO RISULTATO
r
2

Grazie in anticipo

Klaus-zanini Profilo | Senior Member

Potresti usare un CASE dentro alle SUM

prova così:

SELECT
r
FROM
primanota
WHERE
annofis=0
GROUP BY r
HAVING
(
SUM(CASE WHEN dare <> 0 THEN importo
ELSE 0
END) -
SUM(CASE WHEN avere <> 0 THEN importo
ELSE 0
END)
) <> 0
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5