Foros del Web » Programando para Internet » PHP »

Select de 2 tablas, pero mostrar valores de una!

Estas en el tema de Select de 2 tablas, pero mostrar valores de una! en el foro de PHP en Foros del Web. Hola, os eneño el codigo primero: Código PHP: $link = Conectarse ();  $result2 = mysql_query ( "SELECT categoria.*, docencia.* FROM categoria, docencia WHERE docencia.idc = categoria.id AND docencia.tipo=1 GROUP BY categoria.nombrecat " , $link ); while( $row2  =  mysql_fetch_array ( ...
  #1 (permalink)  
Antiguo 06/06/2008, 01:29
 
Fecha de Ingreso: marzo-2008
Mensajes: 170
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Select de 2 tablas, pero mostrar valores de una!

Hola, os eneño el codigo primero:

Código PHP:
$link=Conectarse(); 

$result2=mysql_query("SELECT categoria.*, docencia.* FROM categoria, docencia WHERE docencia.idc = categoria.id AND docencia.tipo=1 GROUP BY categoria.nombrecat ",$link);

while(
$row2 mysql_fetch_array($result2)) { 

$idcat=$row2["categoria.id"];
$nombrecat=$row2["nombrecat"];

echo 
$idcat;
echo 
$nombrecat
Como veis, la consulta coge campos de categoria y docencia. Ahora, como el campo ID se repite en ambos, como hago para asignarlo a idcat?? como se pone esto $row2["categoria.id"]; correctamente??

gracias.
  #2 (permalink)  
Antiguo 06/06/2008, 08:06
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Select de 2 tablas, pero mostrar valores de una!

Evitá seleccionar todos los campos con *. Suele ser más lento, incluso aunque realmente necesites todos los campos de la tabla.
Si nombrás cada campo que necesitás, bien podés hacer

SELECT campo1, campo2, ...., campoN, categoria.id as idcat

y luego tendrías idcat con el valor de categoria.id

También podés hacerlo así

SELECT categoria.*, categoria.id as idcat

pero entonces estarías obteniendo el campo 'id' 2 veces. Quizás no sea un gran problema, pero te costará algunos milisegundos más.


Saludos.
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:33.