associazione uno a molti

Ciao a tutti  a profitto di questo post per augurare buon natale  :),

Ora ho il seguente problema sto creando la rubbrica in mysql quindi ho fatto più  tabelle che contengono il nome e cognome delle persone poi una tabella sulle città e cap ecc..., ora la mia difficolta è questa come associare i nomi alle città ed ai cap

esempio pratico tabella nomi

 Mario rossi

 Gianfranco Bianchi

Pinco Pallino

Pallino Pinco

 tabella citta

Milano

Como

Varese.

Mario rossi abita a como

Gianfranco Bianchi a Varese

Pinco Pallino Milano

Pallini pinco a Como

tabella 3 cap

22100

21010

xxxxx

xxxxy

a questo punto devo associare tramite joing  due o  più  tabelle in modo che i nomi corrispondano alle città ed ai cap , in modo da evitare ridondanze dei dati tenendo conto che:

  • i noni , le città ed cap sono in odine di id
  • la lista dei nomi verrà man mano amplianta aggiungendo sempre nuove persone 
  • la lista delle città e dei cap può essere ampliata

di conseguenza posso avere più persone che appartengono alla stessa città, stesso discorso per i cap che spesso sono identici per i vari  comuni

Quindi mi trovi nella classica ipotesi associazioe uno a molti, o molto ad uno.

È possibile tramite joing risolvere questa situazione oppure seve un script in php? :-\

 :bye:

inviato 7 anni fa
scooby1574
X 0 X

Ciao scooby1574 e buon Natale,

nella tabella dei nomi c'è un campo che specifica l'id del comune di residenza? E poi nella tabella dei comuni c'è un campo che specifica l'id del CAP associato?

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

ciao Gianni,

passate bene queste giornate di ferie e mangereccie...

Effettivamente i campi non li ho messi :-[, ero in dubbio su inserirli o no, ora li inserirsco e provo solo che il poi la query come la costruisco rimane invariata?

 :bye:

risposto 7 anni fa
scooby1574
X 0 X

scusa Gianni ma dici il campo id come contatore o il rispettivo campo di residenza delle persone? :bye:

risposto 7 anni fa
scooby1574
X 0 X

Nella tabella dei nomi devi inserire un campo che specifica l'id del comune di residenza.Nella tabella dei comuni devi inserire un campo che specifica l'id del CAP associato.

Per le query devi fare dei JOIN

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

Ciao Gianni quindi se ho 234 nomi devo fare 243 join?

 :bye:

risposto 7 anni fa
scooby1574
X 0 X

non credo, normalmente basta una sola query, comunque dovresti spiegare cosa vuoi ottenere dalla query.

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

Ciao Gianni scusa se sono sparito, ma sono andato via qulche gg ed ora sono a casa con una bella asciatura rigida al braccio destro, ho messo come mi dicevi un campo che associa l'id del comune di residenza, ma poi come li collego via query

 :bye:

risposto 7 anni fa
scooby1574
X 0 X

devi fare delle JOIN, sono disponibili 2 sintassi, ad esempio:

SELECT .... FROM nomi, citta, cap

WHERE

   nomi.id_citta = citta.id AND

   citta.id_cap = cap.id

L'altra sintassi è quella che usa la parola "JOIN" ma è equivalente.

Ovviamente nella query precedente puoi inserire ulteriori condizioni nella WHERE

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda