[Php-avanzado] COnsulta de un inner join

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Lun Oct 4 08:53:00 ART 2010


Hola Jésica,

El dom, 03-10-2010 a las 20:20 +0000, Jesica Billia escribió:
> 
> Buenas tardes!! Tengo una consulta, estoy utilizando la sentencia
> INNER JOIN entre dos tablas, 
> 
> ambas tablas tienen un campo cn el  mismo nombre pero distinto dato,
> como hago para que
> 
> en el resultado o bien se pueda leer distinto el nombre del campo asi
> con mysql_fetch_assoc 
> 
> puedo tomar el valor del campo mediante $valor['campo_1_t_1'] y
> $valor['campo_1_t_2']

> lo que estoy colocando como instruccion es lo siguiente:
> 
> $sql="SELECT * FROM `fotos` INNER JOIN `los_albumes` ON
> `fotos`.`id_album`=`los_albumes`.`id_album` WHERE `fotos`.`id_album`=
> $id_album";
> 
> lo que sucede es que tanto en la tabla de los albumes como en la de
> las fotos tengo un campo llamado etiqueta, al llamarlo obviamente me
> da el dato 
> 
> relacionado solo a una de las tablas. 

	Le ponés un AS a alguno de los campos, por ejemplo,
"los_albumes.etiqueta as ALGO"

	Tu inner join es correctísimo, pero en el curso usamos una sintaxis
alternativa que es, para mi gusto, más fácil de leer:

SELECT * FROM (fotos, los_albumes)
WHERE  `fotos`.`id_album`=`los_albumes`.`id_album` 
AND `fotos`.`id_album`=$id_album

	

> Otra consulta: 
> Cuando hago las consultas de inner join yo puedo selleccionar que
> campos queden en el resultado y cuales no? y ademas cuando hago 
> el inner join que se puede utilizar `fotos` as `f,  puedo realizar lo
> mismo pero con los npombres de los campos??

	Los campos a proyectar van en el SELECT, y podés poner ahí tanto campos
de la tabla principal como de la tabla unida.
	Podría ser:

SELECT fotos.*, los_albumes.etiqueta AS Album_etiqueta FROM (fotos,
los_albumes)
WHERE  `fotos`.`id_album`=`los_albumes`.`id_album` 
AND `fotos`.`id_album`=$id_album


> Desde ya gracias y feliz domingo!!!

	Seguimos!
-- 

Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-avanzado