Select periodi di date

martedì 20 settembre 2005 - 11.29

mirio Profilo | Newbie

SELECT ID_AUTOMEZZO, DALLA_DATA, ALLA_DATA, DESTINAZIONE
FROM T_NOLEGGI
WHERE (NOT (DALLA_DATA IS NULL)) AND (NOT (ALLA_DATA IS NULL)) AND ('01/01/2005' >= DALLA_DATA) AND ('01/01/2005' <= ALLA_DATA) OR
(NOT (DALLA_DATA IS NULL)) AND (NOT (ALLA_DATA IS NULL)) AND ('01/02/2005' >= DALLA_DATA) AND ('01/02/2005' <= ALLA_DATA) OR
(NOT (DALLA_DATA IS NULL)) AND (NOT (ALLA_DATA IS NULL)) AND (DALLA_DATA >= '01/01/2005') AND (ALLA_DATA <= '01/02/2005')

Lo scopo della query e' restituire tutti i mezzi che dal 01/01/2005 al 01/02/2005 sono impegnati in un noleggio

i dati della tabella sono:
[ID_AUTOMEZZO] [DALLA_DATA] [ALLA_DATA]
CARMERCC650 0001 01/01/2005 01/02/2005
AUTFIATC644 0001 18/01/2005 17/02/2005
CARFIATC644 0001 10/01/2005 20/01/2005
0001 25/01/2005 30/01/2005
CARFIATC644 0001 01/02/2005 15/02/2005
0001 18/02/2005 25/02/2005

I RISULATI DELLA QUERY
CARMERCC650 0001 01/01/2005 01/02/2005
AUTFIATC644 0001 18/01/2005 17/02/2005
CARFIATC644 0001 10/01/2005 20/01/2005
0001 25/01/2005 30/01/2005
CARFIATC644 0001 01/02/2005 15/02/2005

Il risultato e' corretto !
Mi chiedo solo se e' correta la query.

mirio Profilo | Newbie

Scusate allineamenti
allego txt per migliore lettura

totti240282 Profilo | Guru

Bè se ti funziona credo di si ,o vuoi sapere se la sintassi è corretta ???

C'è solo un capitano !!!!!!

mirio Profilo | Newbie

Prima di questa query utilizzavo una sola data di input, passando giorno per giorno il range delle due date ricercate
cosi la query nella WHERE :


(DALLA_DATA <= @DATA_PASSATA AND ALLA_DATA >= @DATA_PASSATA)

Cosi sono sicuro che funzioni.

Ma fa pena e richiede risorse.

Voglio solo essere sicuro che la sintassi e il risulatato sia quello che volgio.

Avere come risultato solo le righe che hanno anche solo uno dei giorni del range data_inizio_noleggio data_fine_noleggio

data_inizio_noleggio '01/01/2005'
data_fine_noleggio '01/02/2005'


trinity Profilo | Guru

penso che te nel database hai settato il capo dalla_data e alla_data come date giusto? Quindi per rendere + leggibile e performante l'istruzione sql potresti utilizzare il metodo BETWEEN

ciao

Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
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