2013-05-24 16 views
5

Va bene ho due tabelle denominate suboggetto: parentID, objectName, subid (primario) e sottorelazione: ID, classNameSelezionare i dati da due tabelle in cui ID su entrambe le tabelle sono gli stessi

parentID | objectName | subID   ID| className| 
_____________________________   ______________ 
    84 | Test  | 14    14| BOM  
    84 | Test2 | 15    15| Schematics 

voglio per abbinare il SubID con ID di entrambe le tabelle a seconda se sono gli stessi valori, quindi iterare tutti i valori che sono gli stessi. Qual è la query per farlo in Mysql.

questo è come lo voglio guardare:

subobjectNAME: 
    --RelatedClass 
    --RelatedClass2 

ecc

So che questo è ha qualcosa a che fare con JOIN e questo è il im MySQL Query usando, ma la sua non funziona

"SELECT * from subrelation inner join subobject on subrelation.ID = subobject.subID" 

anche il mio ciclo while per afferrare questo

while($join = mysqli_fetch_assoc($join)) 
+2

Si prega di inviare la query che hai provato. – Kermit

risposta

6

JOIN le due tabelle:

SELECT 
    so.objectName, 
    sr.ClassName 
FROM subobject AS so 
INNER JOIN subrelation AS sr ON so.subId = sr.ID; 

vederlo in azione qui:


Inoltre, si veda il seguente post per ulteriori informazioni sui diversi tipi di JOIN s:

+0

sembra funzionare, sai cosa mysqli_fetch_ * devo usare per iterare questo in php? – Cubatown

+1

@Cubatown - Sarà lo stesso, sostituisci la query che hai provato con questa query, ma ti aspetteresti i nomi di due colonne '$ row ['objectName']' e '$ row ['ClassName']' echo li dentro il ciclo 'while'. –

+0

Grazie per la soluzione. – wick3d

0
select 
    a.objectName, b.className 
from 
    subobject a 
left join 
    subrelation b on a.subID = b.ID 
Problemi correlati