Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-05-2011, 21:54   #1
Mozaic83
Member
 
L'Avatar di Mozaic83
 
Iscritto dal: May 2009
Città: Como
Messaggi: 70
[MySQL] Realizzare query su più tabelle

Ciao a tutti,
ho iniziato da poco lo studio di SQL e mi sono bloccato sulla realizzazione di una query fatta su più tabelle

Sto esercitandomi in locale su MySQL server (5.1.54-1ubuntu4)

Ho creato un database e ho inserito 3 tabelle (Clienti - Ordini - Dettagli_Ordine).
E' un esempio che ho costruito io, prendendo spunto da un testo.

- Clienti (IDcliente, nome_cli, indirizzo, città, provincia, cap)
=> Primary Key IDcliente

- Ordini (IDordine, IDcliente, data_spedizione, stato_sped, num_sped, corriere)
=> Primary Key IDordine - Foreign Key IDcliente verso Clienti.IDcliente

- Dettagli_Ordine (IDordine, IDarticolo, num_pezzi, costo_pezzo)
=> Foreign Key IDordine verso Ordini.IDordine

La tabella Dettagli_Ordine può contenere più volte la stessa voce IDordine, perchè un ordine può essere la somma di più articoli

Codice:
>select * from Dettagli_Ordine;
+----------+------------+--------------+--------------+
| IDordine | IDarticolo | num_pezzi |   costo_pezzo |
+----------+------------+--------------+--------------+
|        1 |    art210 |           25 |         10.00| 
|        1 |    art401 |           50 |         2.55 |
+----------+------------+--------------+------------+
Vorrei essere in grado di vedere una tabella con questi risultati:
nome_cli - IDordine - ImportoTotaleOrdine

esempio
cliente1 - 1 - 377.50 ===> ((25pezzi dell'art210 a 10 cad)+(50pezzi dell'art401 a 2.55cad))

E' possibile ?

Io avevo pensato a questa query con una tabella derivata (nome tcalc)

Codice:
SELECT tcalc.* FROM (SELECT Ordini.IDcliente AS 'Codice Cliente', Ordini.IDordine AS 'Codice Ordine', 
 SUM(Dettagli_Ordine.num_pezzi * Dettagli_Ordine.costo_pezzo) AS 'Totale Ordine' 
  FROM Ordini, Dett_Ord WHERE Ordini.IDordini=Dett_Ord.IDordini ) AS tcalc;
ma appunto mi mette solo il Codice Cliente e non il suo nome e non riesco a mettere giù il collegamento tra la tabella virtuale e la tabella Clienti (tra l'altro si può fare o è proprio sbagliata in partenza la query ?)
Mozaic83 è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2011, 00:34   #2
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
Tutti i dati:
Codice:
SELECT Clienti.nome_cli, Ordini.IDordine, Dettagli_Ordine.IDarticolo, Dettagli_Ordine.num_pezzi * Dettagli_Ordine.costo_pezzo AS ImportoRiga
FROM Clienti
	INNER JOIN Ordini
		ON Clienti.IDcliente = Ordini.IDcliente
	INNER JOIN Dettagli_Ordine
		ON Ordini.IDordine = Dettagli_Ordine.IDordine
Raggruppamento su IDordine con somma costo * qtà (quello che cerchi):
Codice:
SELECT Clienti.nome_cli, Ordini.IDordine, SUM( Dettagli_Ordine.num_pezzi * Dettagli_Ordine.costo_pezzo ) AS ImportoTotaleOrdine
FROM Clienti
	INNER JOIN Ordini
		ON Clienti.IDcliente = Ordini.IDcliente
	INNER JOIN Dettagli_Ordine
		ON Ordini.IDordine = Dettagli_Ordine.IDordine
GROUP BY IDordine
Mostrando ordini vuoti:
Codice:
SELECT Clienti.nome_cli, Ordini.IDordine, SUM( Dettagli_Ordine.num_pezzi * Dettagli_Ordine.costo_pezzo ) AS ImportoTotaleOrdine
FROM Clienti
	INNER JOIN Ordini
		ON Clienti.IDcliente = Ordini.IDcliente
	LEFT OUTER JOIN Dettagli_Ordine
		ON Ordini.IDordine = Dettagli_Ordine.IDordine
GROUP BY IDordine
Mostrando anche clienti che non hanno fatto ordini:
Codice:
SELECT Clienti.nome_cli, Ordini.IDordine, SUM( Dettagli_Ordine.num_pezzi * Dettagli_Ordine.costo_pezzo ) AS ImportoTotaleOrdine
FROM Clienti
	LEFT OUTER JOIN Ordini
		ON Clienti.IDcliente = Ordini.IDcliente
	LEFT OUTER JOIN Dettagli_Ordine
		ON Ordini.IDordine = Dettagli_Ordine.IDordine
GROUP BY IDordine
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2011, 09:45   #3
Mozaic83
Member
 
L'Avatar di Mozaic83
 
Iscritto dal: May 2009
Città: Como
Messaggi: 70
Grazie mille, anche per gli altri esempi !
Rendevo io tutto difficile
Mozaic83 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
AWS Transform si evolve: agenti IA per m...
I social network hanno stancato gli ital...
Star Citizen supera i 900 milioni di dol...
Netflix ha eliminato la funzione Cast pe...
L'IA è una bolla e scoppier&agrav...
Un rapporto collega i data center di Ama...
Troppa concorrenza per Cherry (quella de...
Entro il 2035 la Cina vuole costruire de...
Tineco in super sconto: ultimo giorno di...
La Cina creerà una costellazione ...
I veicoli elettrici emettono radiazioni ...
Stai per acquistare una PS5? Attento al ...
iPhone 17 Pro Max finalmente disponibile...
Apple, Sony, Bose, Beats, Sennheiser, CM...
Arriva il Raspberry Pi 5 da 1 GB, ma por...
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: 00:35.


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