Gestione date

mercoledì 23 luglio 2008 - 11.27

trinity Profilo | Guru

Buongiorno a tutti,
allora io mi trovo ad avere una tabella in sql con i seguenti campi

codalbergo Int,
data_elaborazione SmallDateTime,
StatoMov Varchar(1),
StatoResidenza Varchar(50)

un esempio di record potrebbe essere il seguente:

08 - 01/07/2008 - A - ITALIA
08 - 02/07/2008 - A - GERMANIA
08 - 03/07/2008 - P - ITALIA
08 - 01/07/2008 - P - GERMANIA

Lo StatoMov può essere di tipo "A" se è un arrivato o di tipo "P" se è un partito...

Io devo creare una query che mi prenda i record in cui i movimenti partiti abbiano la data di elaborazione inferiore agli arrivi

pertanto in base ai dati sopracitati io dovrò avere il seguente risultato ossia mi serve visualizzare i seguenti record:

08 - 01/07/2008 - A - ITALIA --------- 08 - 01/07/2008 - P - GERMANIA

i record poi dovranno essere messi uno accanto all'altro semmai ovviamente indicando una sola volta il codalbergo.

come posso fare?

Ciao


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

lbenaglia Profilo | Guru

>come posso fare?
Io ho capito poco niente
Posta i comandi CREATE TABLE, una ventina di INSERT INTO con dati di esempio, ed il result set definitivo che vuoi ottenere in output.

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

trinity Profilo | Guru

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

in pratica la query mi deve far visulizzare i record che sono partiti e che la loro data di elaborazione sia inferiore alla data del record arrivato di riferimento...

in pratica il risultato deve essere il seguente se è possibile:

Codalbergo - dataarrivo - datapartenza - statoresidenza - msg
08 - 01/07/2008 - 30/06/2008 - GERMANIA - ERRORE

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 (codalbergo,data_elaborazione,statomov,statoresidenza)
>Values ('08','01/07/2008','A','ITALIA')
>Insert Into archivio_mov (codalbergo,data_elaborazione,statomov,statoresidenza)
>Values ('08','01/07/2008','A','GERMANIA')
>Insert Into archivio_mov (codalbergo,data_elaborazione,statomov,statoresidenza)
>Values ('08','03/07/2008','P','ITALIA')
>Insert Into archivio_mov (codalbergo,data_elaborazione,statomov,statoresidenza)
>Values ('08','30/06/2008','P','GERMANIA')

Cosa non ti è chiaro di "...una ventina di INSERT INTO con dati di esempio"?
Ah, le date specificale in formato ANSI SQL 'YYYYMMDD' e CodAlbergo è int, quindi togli gli apici e gli zeri non significativi...
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

trinity Profilo | Guru

scusami....

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

sono 10 record alla fine ho messo tutti i casi, possono bastare.

in base a questi dati i record che mi si devono visualizzare saranno i seguenti e sotto questo formato se è possibile:

Codalbergo - dataarrivo - datapartenza - statoresidenza - msg
08 - 01/07/2008 - 03/07/2008 - ITALIA - CORRETTO
08 - 01/07/2008 - 30/06/2008 - GERMANIA - ERRORE
08 - 02/07/2008 - 01/07/2008 - GERMANIA - ERRORE
08 - 02/07/2008 - 04/07/2008 - GERMANIA - CORRETTO
08 - 02/07/2008 - 04/07/2008 - GERMANIA - CORRETTO

Ciao

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

lbenaglia Profilo | Guru

>scusami....
>
>Insert Into archivio_mov (codalbergo,data_elaborazione,statomov,statoresidenza)
>Values ('08','2008/07/01','A','ITALIA')
...
E' bello vedere che segui le istruzioni ("Ah, le date specificale in formato ANSI SQL 'YYYYMMDD' e CodAlbergo è int, quindi togli gli apici e gli zeri non significativi...").

>in base a questi dati i record che mi si devono visualizzare
>saranno i seguenti e sotto questo formato se è possibile:
>
>Codalbergo - dataarrivo - datapartenza - statoresidenza - msg
>08 - 01/07/2008 - 03/07/2008 - ITALIA - CORRETTO
>08 - 01/07/2008 - 30/06/2008 - GERMANIA - ERRORE
>08 - 02/07/2008 - 01/07/2008 - GERMANIA - ERRORE
>08 - 02/07/2008 - 04/07/2008 - GERMANIA - CORRETTO
>08 - 02/07/2008 - 04/07/2008 - GERMANIA - CORRETTO

Mi spiace, non capisco la logica dietro a questo risultato.

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

trinity Profilo | Guru

scusa ma in base ai dati dell'insert (indipendentemente dagli apici :-) ) io devo avere come risultato quello che ti ho postato ossia associare ad un record arrivato la sua relativa partenza e li dove le date di partenza fossero + piccole di quella di arrivo segnalarlo.

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