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 02-12-2012, 16:02   #1
Aleiovine86
Junior Member
 
Iscritto dal: Nov 2012
Messaggi: 17
Sommare determinati campi di una tabella e spostare il risultato in un'altra tabella

Ragazzi ho due tabelle:
Clienti: codice,ragione sociale,fatturato tot.....cod_ord(chiave esterna)
Ordini: codice_ordine,codice cliente,data.....totale €

come posso fare per tenere aggiornato automaticamente il fatturato totale ogni volta che inserisco un ordine?
Grazie anticipatamente
Aleiovine86 è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 18:22   #2
idoido
Senior Member
 
Iscritto dal: May 2008
Messaggi: 429
bisogna creare una vista, in quel modo interrogando la vista hai il risultato sempre aggiornato
idoido è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 19:56   #3
Aleiovine86
Junior Member
 
Iscritto dal: Nov 2012
Messaggi: 17
Se nn è facile spiegarmi come si fa, hai un link di un manuale?
Aleiovine86 è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 20:52   #4
demos88
Senior Member
 
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
Avere un attributo derivato (fatturato tot) non è molto "bello".
Hai diverse possibilità, tra cui anche il non avere proprio quel valore totale e di calcolarlo solo quando ti serve, con una query che sommi i singoli fatturati, per esempio:
Codice:
SELECT codice_cliente, SUM(totale) FROM Ordini GROUP BY codice_cliente
Questa query restituisce una relazione (tabella) con due colonne: la prima è il codice cliente e la seconda la somma dei totali dei singoli ordini del cliente associato.
Puoi anche usare una vista, però non porta molti vantaggi, che poi altro non fa che sottintendere la query che ho scritto sopra. Infatti potresti definire la view "fatturatiTotali":
Codice:
CREATE VIEW fatturatiTotali AS SELECT codice_cliente, SUM(totale) FROM Ordini GROUP BY codice_cliente
In questo modo hai la stessa identica relazione che hai con la query sopra, solo che puoi accedervi come a un tabella a se stante:
Codice:
SELECT * FROM fatturatiTotali
è uguale a:
Codice:
SELECT codice_cliente, SUM(totale) FROM Ordini GROUP BY codice_cliente
Però devi usare una view, che sinceramente non trovo utile in questo caso.
__________________
CPU Ryzen 5900X @ 4,7Ghz + Thermalright Phantom Spirit 120 SE / MB Asus X470-F Gaming / RAM 2x16GB DDR4 Corsair 3600 CL16 / VGA Sapphire RX 7900 XT Nitro+ / SSD Crucial T500 1TB + Samsung 970 Pro 512GB + Sandisk 960GB Ultra II / PSU FSP Hydro G PRO 1000W / Headset Kingston HyperX Flight
demos88 è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 22:35   #5
Aleiovine86
Junior Member
 
Iscritto dal: Nov 2012
Messaggi: 17
Ragazzi siete forti, siete sempre molto utili. Appena torno a casa mi metto subito all'opera
Aleiovine86 è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2012, 11:59   #6
Aleiovine86
Junior Member
 
Iscritto dal: Nov 2012
Messaggi: 17
Ragazzi ciao, ma come mai quando aggiungo di selezionare la ragione_sociale mi da errore?

Codice:
SELECT cod_cl, Ragione_sociale, SUM(Totale_€)
FROM Ordini, Clienti
GROUP BY cod_cl;
Aleiovine86 è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2012, 12:51   #7
demos88
Senior Member
 
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
Sicuro che il nome del campo coincida (maiuscole e minuscole comprese)?

Nota: usare caratteri speciali come $,€,&... è da evitare, inoltre è utile mantenere una certa omogeneità nei nomi, per esempio tutte minuscole.
__________________
CPU Ryzen 5900X @ 4,7Ghz + Thermalright Phantom Spirit 120 SE / MB Asus X470-F Gaming / RAM 2x16GB DDR4 Corsair 3600 CL16 / VGA Sapphire RX 7900 XT Nitro+ / SSD Crucial T500 1TB + Samsung 970 Pro 512GB + Sandisk 960GB Ultra II / PSU FSP Hydro G PRO 1000W / Headset Kingston HyperX Flight
demos88 è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2012, 13:32   #8
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Quote:
Originariamente inviato da Aleiovine86 Guarda i messaggi
Ragazzi ciao, ma come mai quando aggiungo di selezionare la ragione_sociale mi da errore?

Codice:
SELECT cod_cl, Ragione_sociale, SUM(Totale_€)
FROM Ordini, Clienti
GROUP BY cod_cl;
una cosa tipo

Codice:
SELECT a.cod_cl, b.Ragione_sociale, SUM(a.Totale_€)
FROM Ordini a, Client b
GROUP BY a.cod_cl;
o meglio

Codice:
SELECT cod_cl, 
(SELECT Ragione_sociale FROM Client WHERE <cond con un campo della tabella a>) as Ragione_Sociale, 
SUM(Totale_€)
FROM Ordini a
GROUP BY cod_cl;

P.S: non so se funzioni sul tuo db
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go

Ultima modifica di The_ouroboros : 03-12-2012 alle 13:37.
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2012, 13:51   #9
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Se la prima funziona, cambia DB.
Se la seconda non funziona, cambia DB.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2012, 13:54   #10
Aleiovine86
Junior Member
 
Iscritto dal: Nov 2012
Messaggi: 17
niente..mi da il seguente errore:

La query non include l'espressione 'Ragione_sociale' specificata come parte di una funzione di aggregazione.

Come mai?
Aleiovine86 è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2012, 14:03   #11
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Quote:
Originariamente inviato da Aleiovine86 Guarda i messaggi
niente..mi da il seguente errore:

La query non include l'espressione 'Ragione_sociale' specificata come parte di una funzione di aggregazione.

Come mai?
scrivi due info.
Il db usato e la query.

p.s: ma nessuna delle mie 2 ti funziona?
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2012, 14:05   #12
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Se la prima funziona, cambia DB.
Se la seconda non funziona, cambia DB.
Interessante commento
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2012, 16:41   #13
Aleiovine86
Junior Member
 
Iscritto dal: Nov 2012
Messaggi: 17
utilizzo access 2013 e nessuna delle due funziona...
cmq ho appena comprato filemaker pro advanced 12 sembra fantastico ma bisogna smanettare smanettare smanettare....
Aleiovine86 è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2012, 16:53   #14
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Le mie sono x oracle.. Con quello lavoro..

Inviato dal mio HUAWEI U8825-1 con Tapatalk 2
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2012, 19:28   #15
demos88
Senior Member
 
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
Sinceramente quelle due query non mi convincono... la prima a occhio penso ritorni una SUM multipla di quella che serve (selezionando campi di tabelle diverse senza specificare un join, fai un prodotto cartesiano brutale...)
La seconda non mi è chiara, in quanto la query annidata probabilmente ritorna più di una riga, per cui non può stare come argomento del SELECT.

Aleiovine86, per fare quello che devi far te, ti serve un JOIN. Ma prima ti consiglio passionatamente di sistemare il nome degli attributi seguendo le regole che ho citato sopra: niente spazi nei nomi, niente caratteri speciali (€,$,%...), solo minuscole.

Comunque se le tue tabelle sono quelle che hai specificato all'inizio:
Quote:
Clienti: codice,ragione sociale,fatturato tot.....cod_ord(chiave esterna)
Ordini: codice_ordine,codice cliente,data.....totale €
questo dovrebbe funzionare (almeno su mysql):
Codice:
SELECT c.codice cliente, c.ragione sociale, SUM(o.totale €)
FROM Ordini AS o LEFT JOIN Clienti AS c
ON o.codice cliente = c.codice cliente
GROUP BY c.codice cliente
__________________
CPU Ryzen 5900X @ 4,7Ghz + Thermalright Phantom Spirit 120 SE / MB Asus X470-F Gaming / RAM 2x16GB DDR4 Corsair 3600 CL16 / VGA Sapphire RX 7900 XT Nitro+ / SSD Crucial T500 1TB + Samsung 970 Pro 512GB + Sandisk 960GB Ultra II / PSU FSP Hydro G PRO 1000W / Headset Kingston HyperX Flight
demos88 è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2012, 19:33   #16
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Quote:
Originariamente inviato da demos88 Guarda i messaggi
La seconda non mi è chiara, in quanto la query annidata probabilmente ritorna più di una riga, per cui non può stare come argomento del SELECT.
le uso sempre per lavoro e funzionano molto bene (almeno su Oracle 9.2.0.6)
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è 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, ...
LG OLED G6 55'' a 1.368€ e LG NANO 98'' ...
OpenRGB 1.0 arriva dopo tre anni: una so...
OpenAI paga centinaia di revisori per le...
Opel scarica l'adrenalina elettrica al S...
Volkswagen Mission Efficiency: Cd di 0,1...
Dreame L10s Pro Gen 3 a 179€: ottimo pre...
I Samsung Galaxy S24 ricevono la One UI ...
Google Drive, prende il via il programma...
TempGuard: la protezione di ASRock fa ci...
La prima missione orbitale del razzo spa...
Servizi in streaming sempre più c...
Anteprima della Leapmotor B03X: inizia l...
Anthropic accusa la Cina: Claude utilizz...
I satelliti Rassvet (Starlink russo) di ...
Un agente IA ha risolto un problema su W...
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: 08:38.


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