Foros del Web » Programando para Internet » PHP »

Comparar dos tablas e imprimir los datos coincidentes

Estas en el tema de Comparar dos tablas e imprimir los datos coincidentes en el foro de PHP en Foros del Web. Hola tengo el siguiente problema, necesito comparar dos tablas, y que muestre el valor del id coincidentes. Para la primera tabla hago una consulta que ...
  #1 (permalink)  
Antiguo 02/10/2008, 10:03
 
Fecha de Ingreso: septiembre-2008
Mensajes: 33
Antigüedad: 15 años, 7 meses
Puntos: 0
Comparar dos tablas e imprimir los datos coincidentes

Hola tengo el siguiente problema, necesito comparar dos tablas, y que muestre el valor del id coincidentes.
Para la primera tabla hago una consulta que obtenga los id corresponde a la categoria 22.
Para la segunda tabla necesito hacer una consulta que muestre los id coincidentes con la primera tabla, los que son iguales al resultado obtenido en la primera pero sólo me muestra el último. ¿Que me falta? gracias por adelantado.

Código PHP:

$link 
mysql_connect("xxx","yyy","zzz");
mysql_select_db("yyy",$link);

//consulta 1
$consulta "SELECT * FROM tabla1"
$resultado mysql_query($consulta) or die (mysql_error());
$row=mysql_fetch_array($resultado);
for (
$i=0;$row mysql_fetch_array($resultado);$i++)
if (
$row["term_taxonomy_id"]=='22')
{
$id=$row["object_id"];

}

//consulta 2


$consulta "SELECT *  FROM tabla2"
$resultado mysql_query($consulta) or die (mysql_error());
$row2=mysql_fetch_array($resultado);
for (
$i=0;$row2 mysql_fetch_array($resultado);$i++)

if (
$row2["ID"]==$id)
{
$ID=$row2["ID"];
echo 
$ID;

  #2 (permalink)  
Antiguo 02/10/2008, 10:11
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Comparar dos tablas e imprimir los datos coincidentes

Usa INNER JOIN de MySQL.
  #3 (permalink)  
Antiguo 02/10/2008, 10:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Comparar dos tablas e imprimir los datos coincidentes

con puro SQL seria mejor... ??

Código:
SELECT * FROM tabla1,tabla2 WHERE tabla1.campo1=tabla2.campo2
o algo así, seria bueno que leyeras la documentación... suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 02/10/2008, 10:40
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 17 años
Puntos: 2
Respuesta: Comparar dos tablas e imprimir los datos coincidentes

Lo puedes hacer todo en una sola consulta, usando la sentencia JOIN o con WHERE

Código:
SELECT * FROM tabla1 AS t1 INNER JOIN tabla2 AS t2 ON t1.id_tabla1 = t2.id_tabla2
ó
Código:
SELECT * FROM tabla1 AS t1, tabla2 AS t2 WHERE t1.id_tabla1 = t2.id_tabla2
Y lo otro, el recorrido por el resultado esta mal, deberías usar un ciclo while y dentro de este usar cualquiera de estos métodos: mysql_fetch_array, mysql_fetch_assoc, mysql_fetch_object.

Código PHP:
$resultado mysql_query("...");
while(
$fila mysql_fetch_array($resultado)) {
  echo 
$fila['columna1'];
  echo 
$fila['columna2'];

__________________
KIBIT.cl

Última edición por Snd234; 02/10/2008 a las 10:46
  #5 (permalink)  
Antiguo 02/10/2008, 10:49
 
Fecha de Ingreso: septiembre-2008
Mensajes: 33
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Comparar dos tablas e imprimir los datos coincidentes

Gracias, pero no entiedo muy bien, no se donde meter la condición de que el id de la primera tabla sea igual a 22 y con los resultados obtenidos aqui ej( 161 162 163 ...) que busque en la segunda tabla esos resultados ( 161 162 163 ...)
  #6 (permalink)  
Antiguo 02/10/2008, 10:55
 
Fecha de Ingreso: septiembre-2008
Mensajes: 33
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Comparar dos tablas e imprimir los datos coincidentes

La consulta de la tabla 1 la necesito ya que debo comparar los resultados obtenidos con la tabla 2.
Se podria hacer con dos sentencias for anidadas que comparasen el resultado de la primera consulta con la tabla 2??? el problema es que no se como. Gracias
  #7 (permalink)  
Antiguo 03/10/2008, 04:07
 
Fecha de Ingreso: septiembre-2008
Mensajes: 33
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Comparar dos tablas e imprimir los datos coincidentes

Gracias por todo lo solucione con INNER JOIN.

Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 19:53.