Buondì,
in pratica ho 3 tabelle una prima è l'anagrafica, mentre la seconda è una tabella notifica e la terza una tabella camere
ecco la loro struttura con un esempio di dati:
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?
Grazie e ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com