SELECT che non fa quello che voglio AIUTO!!!!!

di il
27 risposte

SELECT che non fa quello che voglio AIUTO!!!!!

Salve a tutti,
QUALCUNO MI DEVE AIUTAREEEEEE!!!!!
io ho inserito nel mio programma questa SELECT che leggete sotto ma non fa esattamente quello che voglio...ora spiego!! Deve estrapolarmi da una database di contratti tutti quelli che mi sono stati pagati per il loro effettivo valore, comprensivo di ampliamenti e altro associato al quel contratto! Il problema sta nel fatto che la prima istruzione della WHERE non funziona, cioè per esempio...lei cerca nella tabella Ampliamenti se esistono ampliamenti al contratto e somma il valore di questi ampliamenti al valore del contratto, ma se non trova nessun ampliamento la somma non la fa e quindi non verifica la condizione,mentre io vorrei che ritornasse 0 così che la somma la fa e può verificare se la condizione è verificata o no!!!!

Qualcuno mim può aiutare PER FAVORE??????

La SELECT è la seguente:

SELECT Contratti.IDCont as Num, Contratti.DataEOE as Data,
Anagrafica_Clienti.RagSoc as Intestatario,
Contratti.Catprod as Categoria, Contratti.DescProd as Descrizione,
Contratti.NADSL as ADSL, Contratti.NFisse as Linee,Contratti.NFisseULL as ULL,
Contratti.NSimTot as SIM, Contratti.NSimMNP as SimMNP, Contratti.NGPRS as GPRS,
(SELECT SUM(Ampliamenti.ValAmp) FROM Ampliamenti WHERE (Ampliamenti.IDCont=Contratti.IDCont)) as ValoreAmp€,
(SELECT SUM(Apparati.ValContr) FROM Apparati WHERE (Apparati.IDCont=Contratti.IDCont)) as ValoreApp€,
Contratti.ValContr as ValoreContr€
FROM Contratti,Anagrafica_Clienti
WHERE (

LA CONDIZIONE IN QUESTIONE E' LA SEGUENTE:

((SELECT SUM(Pagamenti.TotPag) FROM Pagamenti WHERE(Pagamenti.NumContr=Contratti.IDCont))
=
Contratti.ValContr
+
(SELECT SUM(Ampliamenti.ValAmp) FROM Ampliamenti WHERE(Ampliamenti.IDCont=Contratti.IDCont))+
(SELECT SUM(Apparati.ValContr) FROM Apparati WHERE(Apparati.IDCont=Contratti.IDCont)))


AND Contratti.IDCliente=Anagrafica_Clienti.ID)
ORDER BY Contratti.DataEOE,Anagrafica_Clienti.RagSoc

27 Risposte

Devi accedere o registrarti per scrivere nel forum
27 risposte