5 messages in com.mysql.lists.mysql-esRe: Consultar los que no estan| From | Sent On | Attachments |
|---|---|---|
| Rubén Lacasa Mas | 15 Sep 2005 04:13 | |
| Edwin Cruz | 19 Sep 2005 06:40 | |
| Rubén Lacasa Mas | 20 Sep 2005 02:13 | |
| Daniel Egea | 20 Sep 2005 02:31 | |
| Kolbe Kegel | 20 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.




