5 messages in com.mysql.lists.mysql-esRe: Consultar los que no estan
FromSent OnAttachments
Rubén Lacasa Mas15 Sep 2005 04:13 
Edwin Cruz19 Sep 2005 06:40 
Rubén Lacasa Mas20 Sep 2005 02:13 
Daniel Egea20 Sep 2005 02:31 
Kolbe Kegel20 Sep 2005 08:41 
Subject:Re: Consultar los que no estan
From:Daniel Egea (deg@softhome.net)
Date:09/20/2005 02:31:03 AM
List:com.mysql.lists.mysql-es

Perdón por la tardanza....

SELECT * FROM productos WHERE id NOT IN ( SELECT idproducto FROM detallesv )

... es eso lo que buscas ?

Rubén Lacasa Mas escribió:

He probado las consultas que me habeis enviado pero no me devuelven lo que quiero. Toda la histora es comprobar que productos de la tabla Productos no se han vendido nunca. Esto es para una aplicacion en php, asi que lo he solucionado de esta manera, pero no me parece la correcta, ya que para pocos productos esta bien pero si la base son muchos pienso que se ralentizaria el servidor.

$losqueson="Select * from productos order by id"; $rlosqueson = mysql_db_query($dbname,$losqueson,$con); while ($vlosque = mysql_fetch_array($rlosqueson)) { $i++; $son[$i] = $vlosque[id]; } $losquestan = "Select idproducto from detallesv group by idproducto"; $rlosquestan = mysql_db_query($dbname,$losquestan,$con); while ($vlostan = mysql_fetch_array($rlosquestan)) { $a++; $estan[$a] = $vlostan[idproducto]; } for ($x=1;$x<=$i;$x++) { for ($y=1;$y<=$a;$y++) { if ($son[$x] == $estan[$y]) $son[$x] = 0; } } //Asi los que quedan en el array que no son 0 son los que no se han vendido

Este proceso esta bien para pocos productos, pero si la lista de productos es muy larga pienso que tendra que trabajar bastante. Gracias.