[Php-avanzado] Producto cartesiano de dos tablas

Favio Lazzarini faviolazzarini en gmail.com
Mie Jul 15 21:14:22 ART 2009


Tengo una duda con el join.

 

Tengo una tabla de productos con:

Id

articulo

Id_marca

Codigo

Imagen

Cantidad

Iva

estado

 

Y la otra tabla es marcas con:

Id

Marca

 

Cuando listo los productos obtengo solo el id de la marca.

Yo quiero hacer que el id_marca remplazado por el nombre de la marca

Como se busca en dos tablas?

 

            $consulta="SELECT p.id, p.art, p.cod, p.id_marca, p.img, p.cant,
p.iva, p.est

            FROM productos AS p

            LEFT JOIN marcas AS a p.id_marca=a.id

            WHERE p.id_marca=a.id;";

 

$consulta="SELECT * FROM (productos AS P, marcas AS M) LEFT JOIN productos
ON P.id_marca=M.id WHERE M.id=P.id_marca AND M.id=P.id_marca;";

 

 

Tambien la puse asi:

 

$consulta="SELECT P.id, P.cod, P.art, P.id_marca, P.imag, M.mar, M.id FROM
(productos AS P, marcas AS M) LEFT JOIN productos ON P.id_marca=M.id WHERE
M.id=P.id_marca AND M.id=P.id_marca;";

 

Si alguien me puede decir por que se produce el producto cartesiano.

Solo hay dos productos y aparecen 4 

 

Si alguien me ppuede dar una mano

Se agradece

 

Saludos favio

 






 

 

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/private/php-avanzado/attachments/20090715/c13d13d4/attachment-0001.htm 


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