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-12-2012, 18:32   #1
Aleiovine86
Junior Member
 
Iscritto dal: Nov 2012
Messaggi: 17
Query tra due tabelle clienti e ordini

Ragazzi ciao, sto creando un database con una tabella clienti e una tabella ordini, ho bisogno di creare una query che mi estragga tutti gli ordini di un determinato cliente, come posso fare?Ho le seguenti tabelle:

Clienti:Codice,Ragione_sociale,Fatt 2011,Fatt 2012,Località,Indirizzo,cod_ord(chiave esterna della tabella ordini)
Ordini:codice_ordine,Data_ordine,Descrizione,Totale_€


Sicuro di una vostra risposta vi ringrazio anticipatamente

Ultima modifica di Aleiovine86 : 01-12-2012 alle 18:46.
Aleiovine86 è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 07:10   #2
AllerITA
Member
 
L'Avatar di AllerITA
 
Iscritto dal: Oct 2010
Città: Savona
Messaggi: 194
Scusa hai fatto la normalizzazione del database?
Secondo me devi inserire una chiave per i clienti e tramite quella chiave devi associare le informazioni degli ordini che anch'essi avranno una chiave.
Con un tipo di relazione uno a molti.
Quindi dovrai cercare per ogni cliente i record ordini associati al cliente.
Almeno come la vedo io.
__________________
AMD Phenom II X6 3Ghz, MB Gigabyte 790xta-ud4 F4A, 4Gb Ram ddr3, HD Segate Barracuda 1T, SV ASUS GTX 560 Ti DirectCu II ,Monitor Philips 1920x1080 led 2 ms, Xbox360 Slim, Tablet Asus Transformer Pad TF300T, Gameboy Advance, Ipod Touch 16Gb
AllerITA è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 07:19   #3
trottolino1970
Senior Member
 
L'Avatar di trottolino1970
 
Iscritto dal: Jan 2006
Città: Montalto Uffugo
Messaggi: 6051
Chiave prima nella anagrafica della tabella clienti è codice , chiave primaria nella tabella ordini è la coppia codice_ordine più codice cliente (che sarebbe chiave esterna per questa tabella ma chiave primaria nell'altra).
Fatto questo ,relazione uno a molti , puoi eseguire la query nella seconda tabella facendo anche un select nella prima per restituire il nome del cliente e non il codice con tutti i suoi ordini.


Sent from my iPhone using Tapatalk
trottolino1970 è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 10:41   #4
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, sto creando un database con una tabella clienti e una tabella ordini, ho bisogno di creare una query che mi estragga tutti gli ordini di un determinato cliente, come posso fare?Ho le seguenti tabelle:

Clienti:Codice,Ragione_sociale,Fatt 2011,Fatt 2012,Località,Indirizzo,cod_ord(chiave esterna della tabella ordini)
Ordini:codice_ordine,Data_ordine,Descrizione,Totale_€


Sicuro di una vostra risposta vi ringrazio anticipatamente
Prova una cosa tipo:

Codice:
SELECT
Codice || ' ,' || Ragione_sociale,
Fatt 2011,
Fatt 2012,
(Località || ',' || Indirizzo) AS Indirizzo,
to_char(cod_ord) || ' ' || (select Descrizione where codice_ordine = o.cod_ord ) AS Ordine_codice,
(select Data_ordine where codice_ordine = o.cod_ord ) AS Ordine_data,
(select Totale_€ where codice_ordine = o.cod_ord ) AS Ordine_totale
FROM Clienti o WHERE Codice = 'xxxx';
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 11:04   #5
Aleiovine86
Junior Member
 
Iscritto dal: Nov 2012
Messaggi: 17
Secondo me ho bisogno di capire prima una cosa: quando inserisco un ordine come faccio a dire di quale cliente è?
Se capisco questo dopo è più facile creare la query...aspetto vostre risposte thanks
Aleiovine86 è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 11:10   #6
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
scrivi qui la query che hai in mente che poi ci lavoriamo sopra, ok?
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 11:22   #7
Aleiovine86
Junior Member
 
Iscritto dal: Nov 2012
Messaggi: 17
Guarda sei gentilissimo grazie davvero, ma mi sn reso conto che devo capire prima bene come creare le tabelle per far si che quando inserisco un ordine devo anche dire per quale cliente è, siete d'accordo? Quindi come creare le tabelle?
Aleiovine86 è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 11:41   #8
idoido
Senior Member
 
Iscritto dal: May 2008
Messaggi: 429
consiglio semplice semplice:

un cliente può avere più ordini? SI
un ordine può appartenere a più clienti? NO

quindi relazione 1-N

tabella cliente: id_cliente, nome_cliente
tabella ordine: id_ordine, totale_ordine, cliente_id (questa è la chiave esterna)

per recuperare gli ordini di un cliente poi basterà fare

select * from ordine where cliente_id = 1
idoido è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 12:15   #9
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Quote:
Originariamente inviato da Aleiovine86 Guarda i messaggi
Guarda sei gentilissimo grazie davvero, ma mi sn reso conto che devo capire prima bene come creare le tabelle per far si che quando inserisco un ordine devo anche dire per quale cliente è, siete d'accordo? Quindi come creare le tabelle?
Puoi immaginare per esempio che un tale cliente Pippo sia loggato a quest'applicazione e va sulla pagina per fare un ordine, dove tu avrai una variabile valorizzata con il nome di questo cliente. A questo punto quando invierà il nuovo ordine compilerai il nome del cliente con quello di quell'effettivo cliente che ha fatto l'ordine.

Chiaro che se vuoi fare una query direttamente su db, ti dovrai inventare tu chi diavolo ha fatto quest'ordine
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 12:22   #10
Aleiovine86
Junior Member
 
Iscritto dal: Nov 2012
Messaggi: 17
Benissimo, quindi la tabella cliente dovrà avere anche un campo codice cliente ma non come chiave esterna?giusto? In modo tale che quando inserisco un ordine inserisco anche il suo codice... Fammi sapere
Aleiovine86 è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 12:24   #11
Aleiovine86
Junior Member
 
Iscritto dal: Nov 2012
Messaggi: 17
Quote:
Originariamente inviato da idoido Guarda i messaggi
consiglio semplice semplice:

un cliente può avere più ordini? SI
un ordine può appartenere a più clienti? NO

quindi relazione 1-N

tabella cliente: id_cliente, nome_cliente
tabella ordine: id_ordine, totale_ordine, cliente_id (questa è la chiave esterna)

per recuperare gli ordini di un cliente poi basterà fare

select * from ordine where cliente_id = 1
Grandissimo, finisco di vedere la partita e provo subito... Thanks
Aleiovine86 è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 12:25   #12
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Come già ti han detto avrai una tabella clienti con una chiave primaria che identificherà ogni cliente. E una tabella ordini con una chiave primaria composta da codice_ordine e codice_cliente, che insieme identificheranno ogni ordine.

Ora che ci penso la chiave della tabella ordini potrebbe anche essere solo il codice dell'ordine. Non son più così fresco di basi di dati per capire cosa ciò comporti però. Di sicuro qualche differenza c'è.

Ultima modifica di ndakota : 02-12-2012 alle 12:32.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 15:59   #13
Aleiovine86
Junior Member
 
Iscritto dal: Nov 2012
Messaggi: 17
Risolto

Perfetto ragazzi ora è tutto a posto grazie a voi..ora apro un'altra discussione perchè devo chiedervi un'altra cosa
Aleiovine86 è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 16:06   #14
trottolino1970
Senior Member
 
L'Avatar di trottolino1970
 
Iscritto dal: Jan 2006
Città: Montalto Uffugo
Messaggi: 6051
Solitamente la relazione uno a molti si scindi interponendo una nuova tabella intermedia, quindi si avrebbe una tabella cliente contenente un id_cliente come chiave primaria e tutti gli altri campi, un tabella contenente id_cliente ed id_ordine (entrambi chiavi) ed infine una tabella ordini contenente id_ordine come chiave primaria e poi tutti gli altri campi.


Sent from my iPhone using Tapatalk
trottolino1970 è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 17:10   #15
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Quote:
Originariamente inviato da trottolino1970 Guarda i messaggi
Solitamente la relazione uno a molti si scindi interponendo una nuova tabella intermedia, quindi si avrebbe una tabella cliente contenente un id_cliente come chiave primaria e tutti gli altri campi, un tabella contenente id_cliente ed id_ordine (entrambi chiavi) ed infine una tabella ordini contenente id_ordine come chiave primaria e poi tutti gli altri campi.


Sent from my iPhone using Tapatalk
In effetti, anche x lavoro ho sempre visto fare così..

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 02-12-2012, 17:14   #16
trottolino1970
Senior Member
 
L'Avatar di trottolino1970
 
Iscritto dal: Jan 2006
Città: Montalto Uffugo
Messaggi: 6051
Quote:
Originariamente inviato da The_ouroboros Guarda i messaggi
In effetti, anche x lavoro ho sempre visto fare così..

Inviato dal mio HUAWEI U8825-1 con Tapatalk 2
eh perchè cosi si fa
trottolino1970 è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 17:46   #17
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Quote:
Originariamente inviato da trottolino1970 Guarda i messaggi
eh perchè cosi si fa
Grazie cmq x per avere chiarito.
Essendo uno che impara "as I go" fa piacere a volte avere conferme

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 02-12-2012, 17:51   #18
trottolino1970
Senior Member
 
L'Avatar di trottolino1970
 
Iscritto dal: Jan 2006
Città: Montalto Uffugo
Messaggi: 6051
Quote:
Originariamente inviato da The_ouroboros Guarda i messaggi
Grazie cmq x per avere chiarito.
Essendo uno che impara "as I go" fa piacere a volte avere conferme

Inviato dal mio HUAWEI U8825-1 con Tapatalk 2
Prego


Sent from my iPhone using Tapatalk
trottolino1970 è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 18:19   #19
idoido
Senior Member
 
Iscritto dal: May 2008
Messaggi: 429
Quote:
Originariamente inviato da trottolino1970 Guarda i messaggi
Solitamente la relazione uno a molti si scindi interponendo una nuova tabella intermedia, quindi si avrebbe una tabella cliente contenente un id_cliente come chiave primaria e tutti gli altri campi, un tabella contenente id_cliente ed id_ordine (entrambi chiavi) ed infine una tabella ordini contenente id_ordine come chiave primaria e poi tutti gli altri campi.


Sent from my iPhone using Tapatalk
se non sapete progettare un db, non scrivete che fate una figura migliore.
da che mondo e mondo per una relazione 1 a molti bisogna creare una tabella intermedia? basta una chiave esterna.

una tabella intermedia contenente la coppia delle chiavi primarie va fatta in una relazione molti a molti, come ad esempio ordine-prodotto
idoido è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2012, 18:21   #20
trottolino1970
Senior Member
 
L'Avatar di trottolino1970
 
Iscritto dal: Jan 2006
Città: Montalto Uffugo
Messaggi: 6051
Quote:
Originariamente inviato da idoido Guarda i messaggi
se non sapete progettare un db, non scrivete che fate una figura migliore.
da che mondo e mondo per una relazione 1 a molti bisogna creare una tabella intermedia? basta una chiave esterna.

una tabella intermedia contenente la coppia delle chiavi primarie va fatta in una relazione molti a molti, come ad esempio ordine-prodotto
è arrivato il maestro applausiiiiiiiiiiiiiiiiiiiiiiiiiiii
trottolino1970 è 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, ...
Dopo 23 anni di silenzio, Warcraft 3 spi...
Roblox sfida l'ecosistema gaming: app st...
OpenAI accusata di plagio dai migliori m...
Altro attacco hacker dell'IA: gli agenti...
Stiamo davvero perdendo il controllo del...
Microsoft perde un pilastro: Frank Shaw ...
Diablo V annunciato a sorpresa: il colpo...
Meno di 5 euro per il 5G: l'offerta Kena...
World of Warcraft: Forever è il Classic+...
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...
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: 15:30.


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