Istruzione Insert, Select, Group By

domenica 10 maggio 2009 - 22.17

jtpsala Profilo | Senior Member

Un saluto a tutti gli utenti di questo Forum...
Nel mio database Sql Server 2005 Express ho una tabella chiamata Istat. In questa tabella la mia applicazione scritta in VB2008 inserisce dai dati relativi agli arrivi, partenze e presenze dei Clienti di un hotel. Questo viene eseguito ad ogni arrivo di un determinato cliente. Nel corso di una verifica sulla predetta tabella, mi sono accorto che le rows crescono a vista d'occhio a causa della registrazione dei suddetti dati. Allora, per risparmiare spazio nel database ho pensato di aggiungere una tabella chiamata AppoggioIstat con la quale vorrei fare una cosa del genere:
- eseguire una select dei dati presenti nella tabella Istat, raggrupparli eseguendo anche la somma dei numeri di arrivo, partenze e presenze dei clienti ed il risultato inserirlo nella tabella AppoggioIstat;
- tramite il Trucate Table pulire la tabella Istat e dopo resettare il relativo ID;
- trasferire i dati raggruppati e sommati dalla tabella AppoggioIstat alla tabella Istat.

Per il raggruppamento ho utilizzato la seguente query:

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


Adesso non so come inserire i suddetti dati nella mia tabella Istat.

Le tabelle Istat e AppoggioIstat sono cosi strutturate:

ID int Unchecked
StatoRegione nvarchar(100) Checked
DataArrivo datetime Checked
NrArrivi numeric(18, 0) Checked
DataPartenza datetime Checked
NrPartenze numeric(18, 0) Checked
DataPresenza datetime Checked
NrPresenze numeric(18, 0) Checked
Data datetime Checked
Cittadino nvarchar(50) Checked
CF nvarchar(50) Checked
CodiceCliente nvarchar(50) Checked

Qualcumo può aiutarmi a completare questa query?

Vi ringrazio tutti in anticipo.





Pippo

alx_81 Profilo | Guru

>Un saluto a tutti gli utenti di questo Forum...
ciao

>Qualcumo può aiutarmi a completare questa query?
Fammi capire, tu hai fatto la select che raggruppa e hai inserito dentro l'appoggioistat?
cosa non riesci a fare? trasferire i dati dall'appoggioistat alla istat?

>Vi ringrazio tutti in anticipo.
di nulla!
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

jtpsala Profilo | Senior Member

Grazie per avermi risposto...
In pratica quello che voglio fare è selezionare i dati dalla tabella Istat, raggrupparli e inserirli (raggruppati) nella tabella AppoggioIstat). Dopo di che resettare la tabella Istat con il Truncate Table e riversare i dati dalla tabella AppoggioIstat alla tabella Istat.

Ieri sera ho provato con questa query:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

e sono riuscito a fare almeno in parte quello che avevo chiesto.
Voglio premettere, come ho già preannunciato nel post precedente, che questa query la voglio eseguire periodicamente per cercare di risparmiare spazio nel database; invece di trovarmi una tabella che si riempie a vista d'occhio, posso, probabilmente sbaglio, risparmiare spazio nel database eseguendo quel tipo di query che sto cercando di progettare.

Correggimi se sbaglio!

Ringrazio ancora per l'interessamento e accetto consigli sicuramente migliori.
Pippo

alx_81 Profilo | Guru

>Voglio premettere, come ho già preannunciato nel post precedente,
>che questa query la voglio eseguire periodicamente per cercare
>di risparmiare spazio nel database; invece di trovarmi una tabella
>che si riempie a vista d'occhio, posso, probabilmente sbaglio,
>risparmiare spazio nel database eseguendo quel tipo di query
>che sto cercando di progettare.
>Correggimi se sbaglio!
sinceramente ho pochi elementi di giudizio.. Non saprei dirti se i dati sono realmente tanti. Poi è un concetto relativo anche alla macchina su cui girano le cose.
Comunque sia, forse adotterei il partizionamento dei dati ma non farei due tabelle. Poi, se aggreghi significa che da un certo momento in poi i dati non ti servono più esplosi, giusto?
Puoi pensare di usare una strategia di storicizzazione.. Intanto dimmi la macchina su cui dovrà girare il tuo database, quali tipi di accesso avrai, da che tipo di applicazioni, ecc..
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5