Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
La seconda generazione della citycar elettrica di Dacia passa alla piattaforma RGEV small di Renault Group, cresce di 15 cm in lunghezza e 18 cm in larghezza, adotta un motore da 80 CV e una batteria LFP da 27,5 kWh per 250 km WLTP. Prezzi da 17.900 euro, produzione a Novo Mesto in Slovenia.
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX ha portato sul mercato Picco, un e-reader da 3,97 pollici che pesa 58 grammi e si aggancia al retro dello smartphone con un anello magnetico. Lo abbiamo usato con Pixel 11 Pro XL e iPhone 18 Pro per capire se un formato così ridotto regga la prova della lettura quotidiana
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
A Las Vegas AMD ha svelato i dettagli architetturali delle CPU EPYC di sesta generazione, note con il nome in codice Venice. Nuovi core Zen 6 e Zen 6c costruiti a 2 nanometri, fino a 256 core per socket, 16 canali di memoria, interfaccia PCI Express 6.0 e un'intera famiglia di proposte che va da Venice SP7 a Verano. Senza dimenticare la memoria, oggi la voce di costo più pesante in un server: AMD risponde con CXL 3.1 e con la tecnologia software MEXT, che porta la memoria flash dentro la gerarchia della DRAM.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-06-2008, 15:05   #1
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
[Mysql]Stored Procedure

Ariekkimee..e..e

il problemuccio del giorno è questo:

tabella eventi:

id_evento (int)
id_persona (int)
id_luogo (int)
giorno date
spesa (double)
note text

ora, dovrei tirare fuori una query che dato il mese, mi visualizzi il tutto sottoforma di calendario, anche dove non sono presenti valori; mi spiego meglio:


do in pasto alla query in input: l'id della persona e la data riferita al mese, per esempio 5 (maggio) e dovrei ottenere in uscita una sorta di calendario che abbia comunque tutti i giorni del mese come colonna, ed una sola riga contenente il valore o di "spesa" o di "note" in corrispondenza del giorno nel quale ci sono appunto questi valori.

Stavo procedendo così:

Codice:
CREATE PROCEDURE MONTH_VIEW(
IN anno INT,
IN mese INT,
IN giorno INT,
IN dipendente INT,
OUT outDay DATETIME,
OUT outSpesa DOUBLE,
OUT outNote VARCHAR(6))
BEGIN
DECLARE giorno DATETIME;
DECLARE spesa DOUBLE;
DECLARE spesaMese DOUBLE;
DECLARE note VARCHAR(6);
SELECT ev.giorno, ev.spesa, SUM(ev.spesa), ev.note
INTO
giorno, spesa, spesaMese, note
FROM
eventi ev
WHERE YEAR(ev.giorno) = anno
AND MONTH(ev.giorno) = mese
AND DAY(ev.giorno) = giorno
AND ev.id_dipendente = dipendente;
GROUP BY (non so)
END
Il fatto è che dovrei avere una visualizzazione tipo excel, ovvero:

[data1] [data2] [data3]

dove con data intendo il nome e il numero del giorno, in corrispondenza del quale dovrei avere o il valore di una spesa, o il valore di una nota (perchè se c'è l'una non ci può essere l'altra)

Grazie

RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2008, 16:30   #2
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
ho fatto un piccolo progessuccio:

Codice:
CREATE PROCEDURE MONTH_VIEW(
IN anno INT,
IN mese INT,
IN giorno INT,
IN persona INT,
OUT valore VARCHAR)
BEGIN
DECLARE spese DOUBLE;
DECLARE note VARCHAR(6);
SELECT ev.spese, ev.note INTO spese, note
FROM eventi ev
WHERE YEAR(ev.giorno) = anno
AND MONTH(ev.giorno) = mese
AND DAY(ev.giorno) = giorno
AND ev.ID_Persona = persona;
SELECT IF(NOT spese IS NULL, spese, note)
INTO valore;
END

//\\
\\//

call MONTH_VIEW(2008, 6, 1, 1, @valore);

mysql> select @valore;
+---------+
| @valore |
+---------+
| F       |
+---------+
1 row in set (0.00 sec)

call MONTH_VIEW(2008, 6, 6, 1, @valore);


mysql> select @valore;
+---------+
| @valore |
+---------+
| 3.00    |
+---------+
1 row in set (0.00 sec)
Quindi, sono almeno riuscito a far in modo di farmi restituire il valore presente nella tabella eventi, cioè, se c'è una spesa o se c'è una nota.

Sono cmq fermo su come presentare i valori sottoforma di calendario
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2008, 22:31   #3
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Se fissi i giorni a 31 per qualunque mese, qualcosa si può fare.

Comunque con PL/SQL di MySQL ho lavorato poco perché mi fa schifo, per cui vorrei evitare di andare a rimetterci mano (preferisco di gran lunga il PL/SQL di FireBird).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2008, 23:03   #4
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Se fissi i giorni a 31 per qualunque mese, qualcosa si può fare.

Comunque con PL/SQL di MySQL ho lavorato poco perché mi fa schifo, per cui vorrei evitare di andare a rimetterci mano (preferisco di gran lunga il PL/SQL di FireBird).
Ciao Cesare

grazie anche per l'altro 3d (dove sono ancora arenato purtroppo).

tornando it...

il db fortunatamente posso cambiarlo se un nuovo motore può risolvermi questi problemi. Magari lo installo e poi potresti darmi una mano.

Per quanto riguarda l'idea di fissare a 31 i giorni per ciascun mese, mi incuriosisce. Provo a buttar giù qualcosa su quest'idea.

Grazie.

RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa Nuova Dacia Spring, del modello precedente resta...
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone BOOX Picco: l'ebook reader minuscolo è un...
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria AMD EPYC Venice: dentro Zen 6, i SoC a 256 core ...
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Jensen Huang non si arrende: la Silicon ...
Xiaomi 18 Pro svela il suo asso nella ma...
NVIDIA: il Segretario al Tesoro USA chie...
OPPO porta in Europa un nuovo mid-range:...
Star Wars, Morrowind e TimeSplitters: la...
God of War: Sons of Sparta debutta su PS...
Dalle schede madri agli ospedali: ASUS p...
Perché Windows non permette di ch...
Il meglio in 7 articoli del Black Friday...
Black Friday Dyson: sconti fino al 43% s...
Cerebras cresce del 70% nel trimestre e ...
Black Friday Amazon, robot aspirapolvere...
22 milioni di persone coinvolte: il giga...
CPU desktop, Intel rialza la testa e AMD...
NVIDIA, una petizione chiede il ritorno ...
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: 23:22.


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