- Home
- Categorie
- Coding e Sistemistica
- PHP
- concatenazione campi in più tabelle
-
concatenazione campi in più tabelle
Ciao a tutti.
Dispongo di un db fatto di 3 tabelle: nella prima, ho un elenco di adattatori in mio possesso (con relativo id e nome), nella seconda ho due colonne nella quale associo gli id degli adattatori con quelli dei compatibili. (Ad esempio l'adattatore con ID 1 è compatibile con quello con ID 5).
Ora: come posso impostare una query, in modo che dandogli ID 1, mi scarichi tutti gli id compatibili e vada a pescarsi nella prima tabella i relativi nomi?Grazie
-
nella terza tabella cosa c'è invece?
-
Ciao,
prova a vedere se può esserti di aiuto:Ipotizzando le tabelle:
[TABLE="width: 128"]
[TD="colspan: 2"]TB_ADATTATORI[/TD]
[/TR][TD]ID_ADA[/TD]
[TD]NOME[/TD]
[/TR][TD]1[/TD]
[TD]ADA_1[/TD]
[/TR][TD][/TD]
[TD][/TD]
[/TR][TD="colspan: 2"]TB_LINK_ADATT_COMPATIBILI[/TD]
[/TR][TD]ID_ADA[/TD]
[TD]ID_COMP[/TD]
[/TR][TD]1[/TD]
[TD]11[/TD]
[/TR][TD]1[/TD]
[TD]22[/TD]
[/TR][TD="colspan: 2"]TB_COMPATIBILI[/TD]
[/TR][TD]ID_COMP[/TD]
[TD]NOME[/TD]
[/TR][TD]11[/TD]
[TD]COMP_1[/TD]
[/TR][TD]22[/TD]
[TD]COMP_2[/TD]
[/TR]
[/TABLE]la query che potresti utilizzare è:
SELECT A.ID_ADA, A.NOME, C.ID_COMP, C.NOME
FROM TB_ADATTATORI A, TB_LINK_ADATT_COMPATIBILI B, TB_COMPATIBILI C
WHERE A.ID_ADA=B.ID_ADA
AND B.ID_COMP=C.ID_COMP
-
Occorre usare la funzione JOIN.
Partendo dall'ipotesi di OsteriaORistorante dovrebbe essere:
SELECT A.ID_ADA, A.NOME, C.ID_COMP, C.NOME FROM TB_ADATTATORI AS A JOIN TB_LINK_ADATT_COMPATIBILI AS B ON A.ID_ADA=B.ID_ADA JOIN TB_COMPATIBILI AS C ON B.ID_COMP=C.ID_COMP WHERE A.ID_ADA=1
Da provare, comunque.