Creazione di una query di select dotata di una where con confronto dat...

giovedì 16 ottobre 2008 - 13.36

trinity Profilo | Guru

mi trovo in mezzo ad una situazione che non riesco a risolvere.
ho questa tabella:

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


ho questi esempi di record:

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

Allora io devo creare una query di selezione che mi prenda i record che soddisfano un criterio che gli passo io ossia dalla data alla data per intenderci.

per esempio se io volessi vedere tutti i record compresi tra il giorno 01/08/2008 e il 31/08/2008 però devono essere selezionati i record che hanno avuto delle tracce nel
periodo indicato (psero di essere fatto capire) pertanto oltre alla data di arrivo bisogna giostrare anche la data di partenza.

le ipotesi dovrebbe essere in teoria le seguenti:

record cha hanno data di arrivo inferiore al 01/08/2008 ma che hanno data partenza compresa tra 01/08/2008 e 31/08/2008
esempio: ('4','60033','2008/07/25','2008/08/05','ITALIA')

record cha hanno data di arrivo inferiore al 01/08/2008 ma che hanno data partenza superiore 31/08/2008
esempio: ('4','60033','2008/07/28','2008/09/06','NORVEGIA')

record che hanno data di arrivo e data di partenza compresi tra 01/08/2008 e 31/08/2008
esempio: ('4','60033','2008/08/01','2008/08/10','GERMANIA')

record che hanno data di arrivo compresa tra 01/08/2008 e 31/08/2008 ma data di partenza superiore a 31/08/2008
esempio: ('4','60033','2008/08/30','2008/09/02','SPAGNA1')


tenendo presente che il lasso di tempo può anche variare ossia fare una ricerca dal 01-08-2008 al 05-08-2008 devo sempre selezionare i record che cmq abbiano avuto una presenza
in questo periodo.

spero di essere stato + chiaro possibile

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

lbenaglia Profilo | Guru

>Insert Into Archivio_mov_new(codalbergo,codcomalbergo,dataarrivo,datapartenza,statores)Values('4','60033','2008/08/10','2008/08/55','USA')

Fabio,

Cosa ti ho scritto innumerevoli volte sulla qualità del tuo codice?
Santo cielo, ti è proprio impossibile copiarlo in SSMS e premere F5?

- La colonna StatoRes è dimensionata in modo errato (non hai specificato la dimensione in caratteri)
- Nei comandi di insert:
- Non specifichi lo schema della tabella
- Racchiudi tra apici tutti i valori in modo indiscriminato, constringendo SQL ad eseguire cast inutili
- Utilizzi il separatore "/" per le date quando sai bene che devi utilizzare il formato ANSI 'YYYYMMDD'
- La data 55 agosto 2008 è palesemente errata.

>record cha hanno data di arrivo inferiore al 01/08/2008 ma che
>hanno data partenza compresa tra 01/08/2008 e 31/08/2008
>esempio: ('4','60033','2008/07/25','2008/08/05','ITALIA')
>
>record cha hanno data di arrivo inferiore al 01/08/2008 ma che
>hanno data partenza superiore 31/08/2008
>esempio: ('4','60033','2008/07/28','2008/09/06','NORVEGIA')
>
>record che hanno data di arrivo e data di partenza compresi tra
>01/08/2008 e 31/08/2008
>esempio: ('4','60033','2008/08/01','2008/08/10','GERMANIA')
>
>record che hanno data di arrivo compresa tra 01/08/2008 e 31/08/2008
>ma data di partenza superiore a 31/08/2008
>esempio: ('4','60033','2008/08/30','2008/09/02','SPAGNA1')

Queste sono TUTTE query differenti.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

trinity Profilo | Guru

scusa hai ragione ma sto con la febbre a 38 e devo lavorare contemporaneamente ho scritto veloce facendo un copia ed incolla dei dati presi,
cmq per le query posso farle anche differenti e poi unirle con una union

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
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