Buongiorni a tutti,
ragazzi ho questo problema ossia ho creato una query di selezione al cui interno gli passo due date di confronto, questa query costituita da alcune join ma il risultato che mi esce non è quello che desidero. ora vi posto le tabella e successivamente vi spiego meglio cos ami serve:
in pratica devo eseguire una select con delle join in cui se passo alla query un periodo di controllo tipo maggio(01/05/2010 - 31/05/2010) deve vedere se ci sono notifiche in quel periodo per ogni albergo, ovviamente l'esempio è per un solo albergo, e prendere il totale dei letti
ciò vuole dire che stando ai dati che ho passato deve uscire come record l'albergo1 che ha 45 nrletto, io ho fatto così la query :
SELECT Alb.Codcategoria, Sum(An.nrletti) AS Letti
FROM Albergo AS Alb
INNER JOIN
Anagrafica_camere AS An
ON Alb.Codalb = An.codalbergo AND Alb.CodComune = An.codcomune
INNER JOIN
Notifiche AS Ntf
ON Alb.Codalb = Ntf.codalbergo AND Alb.CodComune = Ntf.codcomune
WHERE Ntf.data BETWEEN '20100501' AND '20100531'
GROUP BY Alb.CodComune,Alb.Codcategoria
ma ovviamente mi sono reso conto che così la query prendere e somma tutti i letti dell'abergo1 per il numero di record presenti nella tabella notifica visto che ce ne sono nel periodo di maggio. Come faccio ad evitare di raddoppiare i record dei letti?
Ciao e grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com