estrarre contenuto di 2 tabelle con una query

Ciao a tutti, mi chiedevo, com'è possibile in php estrarre il contenuto di 2 tabelle con un'unica query? potreste farmi un esempio? Grazie a tutti..

inviato 9 anni fa
Pixelate
X 0 X

La risposta può essere più lunga di quanto immagini, sarebbe utile per restringere il tutto se ci scrivi qualke informazione in più sulle 2 tabelle, come ad esempio se hanno una relazione tra di loro.

risposto 9 anni fa
LonelyWolf
X 0 X

mettiamo si chiamino tabella1 e tabella2, sono nello stesso db e contengono un id in comune relativo ad un utente del quale estrarre i dati..

risposto 9 anni fa
Pixelate
X 0 X

quindi per un utente della tabella 1 possono esserci da zero a N record nella tabella 2?

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

si, in ogni caso anche se l'utente non avrà campi impostati nella tabella 2 l'id sarà comunque presente anche se  il resto dei campi saranno vuoti..

risposto 9 anni fa
Pixelate
X 0 X
si, in ogni caso anche se l'utente non avrà campi impostati nella tabella 2 l'id sarà comunque presente anche se  il resto dei campi saranno vuoti..

e che te ne fai di un record con tutti i campi null?

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

niente, ma era solo per spiegare la tabella, xkè cmq i campi non saranno nulli.. ad ogni modo tutto ciò che vorrei sapere, sarebbe la sintassi per una query su due tabelle..

risposto 9 anni fa
Pixelate
X 0 X

Le domande che ti facevono servono proprio a realizzare la query in maniera corretta.

Se sei sicuro che la seconda tabella ha almeno un record per ciascun record della prima allora la query da usare ha questa forma

SELECT * FROM tabella1, tabella2

WHERE tabella1.id = tabella2.id

Se invece non è detto che la seconda tabella abbia almeno un record per ciascuno della prima, ma vuoi comunque recuperare questi record della prima tabella privi di controparte sulla seconda:

SELECT * FROM tabella1

LEFT JOIN tabella2

ON  tabella1.id = tabella2.id

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

uhm, grazie, se analizzo la sintassi, dove tu hai scritto tabella.id il .id si riferisce alla variabile che io dovrò passare alla query?

cioè, può anche essere: tabella.$id ? o è fantascienza?

nel caso in cui nn sia così, come faccio a recuperare l'id se questo è dentro la variabile?

risposto 9 anni fa
Pixelate
X 0 X

Tutte le condizioni per filstrare i risultati della select vanno messi nella clausola WHERE:

SELECT * FROM tabella1, tabella2

WHERE tabella1.id = tabella2.id

AND tabella1.id = $id

SELECT * FROM tabella1

LEFT JOIN tabella2

ON  tabella1.id = tabella2.id

WHERE tabella1.id = $id

 :bye:

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