Creazione vista

lunedì 09 marzo 2009 - 18.41

fotw Profilo | Newbie

Un saluto a tutti

Vi chiedo aiuto per risolvere un problema nel creare una vista.
Vi riporto un esempio del problema che devo risolvere, ho tralasciato alcune colonne che spero non invalidi i vostri suggerimenti.


USE tempdb
GO

CREATE TABLE [dbo].[Viaggi](
[CodGiro] [char](10) NULL,
[Datadoc] [datetime] NULL,
[Numdoc] [decimal](7, 0) NULL,
[KMpartenza] [decimal](8, 0) NULL,
[KMArrivo] [decimal](8, 0) NULL,
[Ricavo] [decimal](15, 4) NULL
) ON [PRIMARY]
GO

INSERT INTO Viaggi VALUES ('01', '02/01/2009', 1, 145250, 145280, 125.00)
INSERT INTO Viaggi VALUES ('01', '02/01/2009', 2, 145280, 145310, 100.00)
INSERT INTO Viaggi VALUES ('01', '02/01/2009', 6, 145310, 145395, 110.00)
INSERT INTO Viaggi VALUES ('02', '02/01/2009', 4, 325140, 325260, 220.00)
INSERT INTO Viaggi VALUES ('01', '04/01/2009', 7, 145395, 145480, 120.00)
INSERT INTO Viaggi VALUES ('01', '04/01/2009', 3, 145480, 145550, 105.00)
INSERT INTO Viaggi VALUES ('02', '02/01/2009', 5, 325260, 325410, 220.00)
GO

/* Vorrei una vista che mi dia il seguente risultato:
CodGiro Data Iniz. N.ro Iniz KM di partenza Data Fine N.ro Fine KM di arrivo Tot.Ricavo KM Perc. NumViaggi
01 02/01/2009 1 145250 04/02/2009 3 145550 560,00 300 5
02 02/01/2009 4 325140 02/01/2009 5 325410 440,00 270 2

Specifiche:
Data Iniz. : Data del documento (record) dove e' stato indicato i KM di partenza (cioè quello più basso a parità di giro)
N.ro Iniz. : Numero documento dove e' stato indicato i KM di partenza
Data Fine : Data del documento (record) dove e' stato indicato i KM finali del giro (quelli MAX a parità di giro)
N.ro Fine : Numero documento dove e' stato indicato i KM di arrivo
KM Percorsi : Differenza tra KM di arrivo e quelli di partenza
Num.Viaggi : Numero di viaggi per ciascun giro (somma dei records per giro)

La difficolta, almeno per me, sta nel fatto che i numeri del documento non sono in ordine rispetto alla rilevazione dei
KM del tachimetro (dipende come l'operatore inserisce i cartellini che compilano i vari autisti).

Visto che sto approfittando della vostra disponibilità pongo un'altro quesito:
se l'operaotre si sbaglia e mi mette I KM di partenza uguali su due documenti dello stesso giro, come posso cautelarmi?
come posso gestirlo ed, eventualmente evidenziare, quello con data e/o numero più basso?
Stesso problema potrebbe esistere anche per i KM di arrivo

Chiedo troppo?

*/

DROP TABLE Viaggi
GO


Grazie della disponibilità

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