PDA

View Full Version : Unione di tabelle in MySQL 5


fifth
14-12-2006, 16:09
Ciao a tutti. Sto sbattendo la testa da due giorni sul problema di dover unire i dati di due tabelle. Queste hanno questa struttura:

id - type - value

nella prima il type è per tutti record 1, nella seconda 2. Nella prima tabella ho 7 record (7 id) e nella seconda 8.

Utilizzando la Union, mi mette le due tabelle con i valori corretti una sotto l'altra. Quello che devo fare io è unire le due tabelle in orizzontale... dovrei quindi avere come risultato le prime 7 righe della prima con di fianco le rispettive 7 della seconda e in ultimo l'ottava riga della seconda tabella e l'ottava riga della prima che presenta un valore nullo... Come posso fare?
:help:

0rph3n
14-12-2006, 16:26
SELECT t1.campo1,
t1.campo2,
...,
t2.campo1,
t2.campo2,
...,
t1.campo8,
t2.campo8
FROM tabella1 t1
JOIN tabella2 t2
ON t1.id = t2.id

oppure anche

SELECT t1.campo1,
t1.campo2,
...,
t2.campo1,
t2.campo2,
...,
t1.campo8,
t2.campo8
FROM tabella1 t1,
tabella2 t2
WHERE t1.id = t2.id


'iao

fifth
15-12-2006, 07:58
Il problema è appunto che gli id non sono in numero uguale per entrambe le tabelle. In questo modo perdo dei dati...

0rph3n
15-12-2006, 08:21
Il problema è appunto che gli id non sono in numero uguale per entrambe le tabelle. In questo modo perdo dei dati...
se non hai un campo che faccia da chiave esterna allora ci sono due strade...
o crei la chiave esterna
o lasci perdere
:D

cionci
15-12-2006, 08:32
Il problema è appunto che gli id non sono in numero uguale per entrambe le tabelle. In questo modo perdo dei dati...
Allora spiegaci visivamente come associ un dato all'altro...o fai un piccolo esempio con qualche dato inventato...

fifth
15-12-2006, 16:34
ho fatto varie modifche alle tabelle di origine aggiungendo nuove chiavi primarie e alla fine funziona :)

0rph3n
15-12-2006, 16:43
ho fatto varie modifche alle tabelle di origine aggiungendo nuove chiavi primarie e alla fine funziona :)
nuove chiavi primarie?
ma non ce le avevi già? :confused: