[Php-avanzado] COnsulta de un inner join
Jesica Billia
jesicabillia en hotmail.com
Mie Oct 6 01:13:51 ART 2010
Gracias!!
Arme un poco mejor (creo) la sentencia sql:
SELECT `fotos` . * , `los_albumes`.`id_album` AS `name_album`
FROM `fotos` , `los_albumes`
INNER JOIN `los_albumes` ON `fotos`.`id_album` = `los_albumes`.`id_album`
WHERE `fotos`.`id_album` =1
ORDER BY `fotos`.`etiqueta`
LIMIT 0 , 30
ahora, el tema es que me arroja un error, (i) #1066 - Not unique table/alias: 'los_albumes'
revise pero no se coomo corregirlo...
Salu2
> From: leonardot en pegasusnet.com.ar
> To: php-avanzado en pato2.fi.mdp.edu.ar
> Date: Mon, 4 Oct 2010 08:53:00 -0300
> Subject: Re: [Php-avanzado] COnsulta de un inner join
>
> 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
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20101006/0e4946eb/attachment.htm
Más información sobre la lista de distribución Php-avanzado