[sql server] Raggruppare per date consecutive

venerdì 13 gennaio 2017 - 11.49

svipla Profilo | Senior Member

Ciao a tutti
Un aiuto su come scrivere una query.

Supposiamo di avere una tabella con questi campi: Camera | Livello | Data | Tariffa

Standard | rimborsabile | 01/01/2017 | 50
Standard | rimborsabile | 02/01/2017 | 50
Standard | rimborsabile | 03/01/2017 | 50
Standard | rimborsabile | 04/01/2017 | 60
Standard | rimborsabile | 05/01/2017 | 60
Standard | rimborsabile | 06/01/2017 | 60
Standard | rimborsabile | 08/01/2017 | 60
Standard | rimborsabile | 09/01/2017 | 60
Standard | rimborsabile | 10/01/2017 | 60
Standard | no rimborsabile | 01/01/2017 | 70
Standard | no rimborsabile | 02/01/2017 | 70
Standard | no rimborsabile | 03/01/2017 | 70
Standard | no rimborsabile | 04/01/2017 | 80
Standard | no rimborsabile | 05/01/2017 | 80
Standard | no rimborsabile | 06/01/2017 | 80
Standard | no rimborsabile | 08/01/2017 | 90
Standard | no rimborsabile | 09/01/2017 | 90
Standard | no rimborsabile | 10/01/2017 | 90

Vorrei come risultato questo:
Camera | Livello | Dal | Al | Tariffa

Standard | rimborsabile | 01/01/2017 | 03/01/2017 | 50
Standard | rimborsabile | 04/01/2017 | 06/01/2017 | 60
Standard | rimborsabile | 08/01/2017 | 10/01/2017 | 60
Standard | no rimborsabile | 01/01/2017 | 03/01/2017 | 70
Standard | no rimborsabile | 04/01/2017 | 06/01/2017 | 80
Standard | no rimborsabile | 08/01/2017 | 10/01/2017 | 90

In pratica per ogni camera devo ricavarmi il periodo di inizio e fine di una tariffa considerando che ci posso essere diversi livelli tariffari (rimborsabil, no rimborsabile ecc).

Come posso fare questo?

Grazie mille

renarig Profilo | Expert

Non è facilissimo ..... (pero è fattibile)

Vuoi farlo con delle Viste in linguaggio SQL oppure con un ciclo/procedura ???

Quale DataBase usi ???

.

svipla Profilo | Senior Member

Ciao
uso sql server 2014
Esempio con le viste va bene
Grazie mille
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