Selezionare un solo record

lunedì 13 settembre 2010 - 11.48

trinity Profilo | Guru

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:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

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
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