2011-12-13 49 views
7

Tengo dos tablas, una tabla se llama queuelist y la otra es información de llamada. En la tabla queuelist solo enumera diferentes ID. Estoy tratando de obtener el 'ID del cliente' de esa tabla y hacer que coincida con la 'ID' en la otra tabla que contiene toda la información y volver a mostrarla en la página. Así es como las tablas de consulta:PHP MySQL Seleccionar ID de una tabla e información de otra tabla

Tabla - queuelist

ID | clientID 
------------- 
1 | 589 
2 | 254 
3 | 486 

Tabla - información

ID | Name | Phone 
-------------------- 
256 | Bob | 5551231234 
486 | Jack | 5551231234 
589 | Jill | 5551231234 

Respuesta

5

Esto es lo que ellos llaman tablas de unión, se debe utilizar una consulta como esta:

SELECT i.ID, i.Name, i.Phone FROM `queuelist` AS q 
LEFT JOIN `info` AS i ON (
    q.clientID = i.ID 
); 

estoy usando alias para la notación más corta en la consulta anterior (queuelist se convierte en Q y la información se convierte en i) y luego establecer la condición de unión (el bit entre ON()) para que sea el ID de cliente de la tabla queuelista debe coincidir con el ID en la tabla de información.

También vea http://dev.mysql.com/doc/refman/5.0/en/join.html para más detalles.

4

Es necesario utilizar una combinación interna

select * from queuelist as ql inner join info as i on ql.clientID = i.ID 

Aunque es posible que desee reemplace * con nombres de campo específicos, por ejemplo,

select ql.clientID, i.fieldname FROM.... 
+0

Editado. Aunque debería ser "también ql" en lugar de "alseo q1" ;-) – TommyBs

1

Bueno, no veo ninguna dificultad en esto usando un JOIN.

SELECT * FROM queuelist JOIN info ON clientID = info.ID WHERE queuelist.ID = 2 
0

"Dónde" sería otra opción.

SELECT Name, Phone FROM queuelist,info WHERE clientID = ID 

Suponiendo que desea sólo el nombre y el teléfono

Cuestiones relacionadas