Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-06-2011, 21:32   #1
Freeskis
Member
 
Iscritto dal: Aug 2008
Messaggi: 199
[PL-SQL] Sfidone del 2 Giugno

Ciao a tutti,

Ho da sottoporvi un giocone/sfida per il 2 Giugno, ( o come si dice a lavoro serve per ieri )
io e i ragazzi del team con cui lavoro dobbiamo scrivere un report che prenda i dati da una tabella FACT caricata mensilmente.

il problema sorge qui, i dati vanno caricati dentro un db Oracle da un db DB2 iSeries, ( i due db sono connessi da un DBLink impostato su Oracle ),
il problemaè che i dati all'interno del db DB2 sono caricati senza la minima logica apparente ( roba che manco una scimmia idiota decerebrata riuscirebbe a pensare ad un modo così idiota per piazzare sti dati ).
adesso cerco di spiegare la struttura della tabella il meglio che posso:

la tabella contiene degli importi che si riferiscono a determinati periodi,
la struttura è più o meno questa:

identificativo, anno inizio periodo di riferimento, mese inizio periodo di riferimento, numero di periodi, tipologia di importo, numero righe, importo 1, importo 2, importo 3 ... importo 50.

gli importi sono da 01 a 50 e sono riferiti uno ad ogni mese,

quindi se l'anno di inizio è il 2010 il mese di inizio è l'4 e il numero di periodi è 4, la tabella sarà valorizzata secondo quanto segue:

identificativo, anno inizio periodo di riferimento, mese inizio periodo di riferimento, numero di periodi, tipologia di importo, importo 1, importo 2, importo 3 ... importo 50

340590, 2010, 04, 4, XX, 1, 100, 200, 100, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... fino a 50...
340590, 2010, 04, 4, XC, 1, 100, 200, 100, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... fino a 50...

in questo l'importo uno si riferisce a aprile 2010, il due a maggio 2010 e così via,
quindi il campo 01 sta sempre per il primo mese di competenza indipendentemente quale esso sia

nel caso in cui i periodi di competenza superino i 50 campi la riga scavalla e viene valorizzata la seconda riga, con più o meno questa struttura:

340590, 2010, 04, 4, XD, 1, 100, 200, 100, 200, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, ... fino a 50...
340590, 2010, 04, 4, XD, 2, 100, 200, 100, 200, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, ... fino a 50...

ora questa è la premessa, ecco cosa di cui si ha bisogno per caricare la tabella,

numero identificativo, tipologia di importo, importo del mese di competenza, somma dei valori "residui".

spiego brevemente a cosa si riferiscono i due importi, allora se il caricamento viene effettuato il 1 Giugno per l'esempio di cui sopra,
il valore di competenza sarà quello di maggio e quindi è il valore del secondo importo, mentre
il valore residuo comprende la somma di tutti gli importi da quello di maggio ( escluso ) in poi, comprendendo anche quelli di eventuali seconde righe,


potenzialmente nella tabella ci sono più tipologie di importo per ogni identificativo, e per ogni tipologia di importo ci possono essere più righe.

La soluzione io non ce l'ho, o comunque sono a casa quindi non ce l'ho sottomano,
non può essere scritta con SQL standard quindi serve necessariamente il plSQL ...

Spero di essere stato chiaro e che la sfida vi alletti




Ah un ultima cosa,
per lo stesso numero identificativo una tipologia di importo potrebbe iniziare da un mese diverso rispetto al mese di inizio di altre tipologie ma sempre nello stesso anno
__________________
...πάντα ῥεῖ...
Freeskis è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2011, 18:09   #2
GreatBooks
Member
 
L'Avatar di GreatBooks
 
Iscritto dal: Nov 2010
Città: Torino
Messaggi: 53
Quote:
Originariamente inviato da Freeskis Guarda i messaggi
Ciao a tutti,

identificativo, anno inizio periodo di riferimento, mese inizio periodo di riferimento, numero di periodi, tipologia di importo, numero righe, importo 1, importo 2, importo 3 ... importo 50.

gli importi sono da 01 a 50 e sono riferiti uno ad ogni mese,
mi complimento con chi ha progettato il DB....ahahahahah!
__________________
*/ --------------------------------------------- \*
Trattative concluse positivamente con: startpoint
GreatBooks è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2011, 21:39   #3
Freeskis
Member
 
Iscritto dal: Aug 2008
Messaggi: 199
Quote:
Originariamente inviato da GreatBooks Guarda i messaggi
mi complimento con chi ha progettato il DB....ahahahahah!

purtroppo è il mondo reale, dove i progetti da 3 mesi di sviluppo devono essere consegnati per ieri, e dove non frega un cazzo a nessuno di chi era Codd e chi Boyce basta che le cose funzionino, non importa come.
__________________
...πάντα ῥεῖ...
Freeskis è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2011, 00:08   #4
khelidan1980
Senior Member
 
L'Avatar di khelidan1980
 
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
Quote:
Originariamente inviato da Freeskis Guarda i messaggi
purtroppo è il mondo reale, dove i progetti da 3 mesi di sviluppo devono essere consegnati per ieri, e dove non frega un cazzo a nessuno di chi era Codd e chi Boyce basta che le cose funzionino, non importa come.
bhe che lo sviluppo orizzontale della tabella sia sbagliato ci si arriva anche senza conoscere Codd e Boyce, e non è questione di funzionare, il fatto è che con un db costruito in questo modo disastroso di ritrovi ad un certo punto ad esser bloccato su futuri sviluppi e devi per forza ristrutturare tutto, detto questo lo letto velocemente ma già ad una prima occhiata per dare una bella sistemata si potrebbe staccare gli importi e strutturarli su una singola tabella,hai una tabella principale con le informazioni di testata e una in cui ci sviluppi quello che penso sia un piano di ammortamento o roba del genere....


P.s: comunque scriverlo in PL/SQL imho dovrebbe esser un vantaggio, ti voglio veder a fare gli update in sql oracle senza l'aiuto del PL/SQL!
__________________
Khelidan

Ultima modifica di khelidan1980 : 05-06-2011 alle 00:16.
khelidan1980 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Speciale TV in offerta su Amazon: Hisens...
Non c'è pace per Trezor: 347.000 e-mail ...
È un portatile Dell e li vale tut...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
GPT-6 Astra è davvero AGI o non s...
LG OLED G6S 48'' a 845€ e G6 55'' a 1368...
Mantax Otax: il malware Android che crip...
Musk incassa un altro maxi contratto IA:...
Le vendite di EV sono esplose in tutto i...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:20.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v