Creazione stored a pennello.....

lunedì 16 giugno 2008 - 11.56

trinity Profilo | Guru

Salve ragazzi,
mi trovo in una grandissima difficoltà.
premetto ecco di seguito i codici delle tabelle su cui sto lavorando:

tabella archivio_mov:

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

allora....

come primo passo vi posto un esempio di inserimento record nella tabella archivio_mov:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

ora spiego un pochino i dati che ho inserito.
come potete vedere nella tabella archivio_mov ci sono le seguenti colonne: STATO e NCOMP.
Allora la colonna STATO identifica se il record è di tipo A=arrivato, P=partito.
Mentre la colonna NCOMP identifica il numero di persone che sono arrivate o partite.
Detto questo io devo creare un report di stampa che mi visualizzi i record per nazione e eventuale comune (se fosse italia) indicando il numero di arrivi ed il numero di presenze.
Per gli arrivi non ci sono problemi mentre per le presenze si e qui nasce il problema.

Nell'immagine allegata vi è un esempio chiaro di come è la tabella piena e di come deve uscire il risultato:

829x659 108Kb


Allora io che ho fatto: ho creato una stored e delle funzioni annesse ad essa, ossia le seguenti:

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

CREATE FUNCTION [dbo].[GetLastDateOfMounth] (@Date datetime) RETURNS datetime WITH EXECUTE AS CALLER AS BEGIN DECLARE @DateInt datetime SET @DateInt = DATEADD(day, -1, DATEADD(month, 1, CONVERT(char( 6),@Date, 112) + '01')) RETURN(@DateInt) END

ed ecco la stored, forse il codice non è alquanto professionale ma funziona perfettamente tranne se devo calcolare le presenze a cavallo mese:

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

Vi prego aiutatemi
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