[SQL SERVER]Intricata query con medie su date

mercoledì 12 agosto 2009 - 14.30

motogpdesmo16 Profilo | Senior Member

Buongiorno, non riesco ad effettuare una query su questo scenario database:
T1: Cliente (Id_Cliente, Nome, Cognome ecc)
T2: Biglietto (Id_Biglietto, Tipo) (Tipo, allo stato attuale, può valere G per Giornaliero, S per settimanale, P per pomeridiano. Non si escludono altre tipologie, ragione per cui ho preferito creare un'anagrafica delle tipologie di biglietto)
T3: Cliente_Biglietto (Id_Cliente, Id_Biglietto, Data)

Il problema è questo: eseguire una query che estragga il numero medio di biglietti giornalieri, settimanali, pomeridiani venduti ogni settimana.
Sapreste darmi una mano??? Dovrebbe essere molto molto semplice ma mi sta davvero mandando in crisi questa richiesta!
Grazie anticipatamente

micto27 Profilo | Senior Member

>Buongiorno, non riesco ad effettuare una query su questo scenario
>database:
>T1: Cliente (Id_Cliente, Nome, Cognome ecc)
>T2: Biglietto (Id_Biglietto, Tipo) (Tipo, allo stato attuale,
>può valere G per Giornaliero, S per settimanale, P per pomeridiano.
>Non si escludono altre tipologie, ragione per cui ho preferito
>creare un'anagrafica delle tipologie di biglietto)
>T3: Cliente_Biglietto (Id_Cliente, Id_Biglietto, Data)
>
>Il problema è questo: eseguire una query che estragga il numero
>medio di biglietti giornalieri, settimanali, pomeridiani venduti
>ogni settimana.
>Sapreste darmi una mano??? Dovrebbe essere molto molto semplice
>ma mi sta davvero mandando in crisi questa richiesta!
>Grazie anticipatamente


Ciao,

di quale tipo di database stiamo parlando nello specifico?

scusa ... come non detto
lo hai scritto nel titolo

motogpdesmo16 Profilo | Senior Member

Come da titolo SQL SERVER. Anche se ho dimenticato di specificare la versione: 2005.

micto27 Profilo | Senior Member

prova una cosa del genere e fammi sapere

SELECT a.Tipo, AVG(a.NumeroBigliettiSettimana)
FROM
(
SELECT YEAR(T3.Data) as Anno, DATEPART( wk, T3.Data) as Settimana, T2.Tipo, COUNT(*) as NumeroBigliettiSettimana
FROM T3 inner join T2
ON T3.Id_Biglietto = T2.Id_Biglietto
GROUP BY YEAR(T3.Data), DATEPART( wk, T3.Data), T2.Tipo
) a
GROUP BY a.Tipo
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