Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Consulta en dos campos iguales (https://www.clubdelphi.com/foros/showthread.php?t=36413)

elcigarra 11-10-2006 03:31:07

Consulta en dos campos iguales
 
Hola
Debería ser una tontería pero no entiendo que hago mal... Tengo la siguiente consulta (en php y mysql). Son dos tablas exactamente iguales en su estructura con distinto nombre.
Código:

$sql = "SELECT * FROM miTabla A, temp_miTabla T WHERE ";
$sql .= "A.Code = T.Code ";
$result = mysql_query($sql);

Supongan que obtengo resultados válidos de esta consulta y que en las tablas hay un campo de tantos, que se llama CAMPO1 (que puede tener distintos valores en las dos tablas)
Lo que me pasa es lo siguiente
Código:

// si yo quiero referirme a los resultados de la forma:
if($myrow = mysql_fetch_array($result)) {
  echo "Campo 1 es: ".$myrow["A.CAMPO1"];}
 
//esto arroja el texto: "Campo 1 es:"
//es decir, parece estar vacío
//lo mismo pasa si uso $myrow["T.CAMPO1"]
 
La única forma de obtener un valor es si escribo:
 
if($myrow = mysql_fetch_array($result)) {
  echo "Campo 1 es: ".$myrow["CAMPO1"];}

solo que en este caso no puedo diferenciar las dos tablas.

roman 11-10-2006 03:49:47

Así es. No hay manera de distinguir ambos campos mediante su nombre. Puedes usar alias distintos para cada campo o bien acceder a ellos mediante su índice numérico. También podría interesarte leer Acceso a datos con clase.

Agrego: ahí menciono esta limitante de mysql_fetch_assoc, que viene a ser la misma limitante de mysql_fetch_array usando de índices los nombres de los campos.

// Saludos

jasenior 28-11-2014 16:27:46

Mostrar en mysq_fetch_assoc campos de igual nombre de distintas tablas
 
Buenos días amigos. Hay una manera de mostrar en en una misma consulta SQL campos que tienen la misma descripción que provienen de tablas distintas.

Lo que se debe hacer es utilizar alias en los nombres de las tablas y a los campos hacerles un alias de nuevo. Ejemplo:

mysql_select_db($database_ele, $ele);
$query="SELECT est.descripcion a, pro.descripcion b, esp.descripcion FROM estudio est, profesion pro , especialidad esp";
$result= mysql_query($query, $ele);

while($row= mysql_fetch_assoc($result)){

echo $row['a'];
echo $row['b'];

}

Espero que les sirva mi contribucion


La franja horaria es GMT +2. Ahora son las 02:02:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi