Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

where not

Estas en el tema de where not en el foro de Mysql en Foros del Web. como puedo seleccionar todas los productos que no tiene un proveedor mediante su id tengo estas dos tablas productos id/id_proveedor/producto 1/ 1 / coca 2/ ...
  #1 (permalink)  
Antiguo 30/06/2011, 13:06
 
Fecha de Ingreso: junio-2011
Mensajes: 59
Antigüedad: 12 años, 10 meses
Puntos: 0
where not

como puedo seleccionar todas los productos que no tiene un proveedor mediante su id
tengo estas dos tablas

productos

id/id_proveedor/producto

1/ 1 / coca
2/ 1 /casa
3/ 1 /cama
4/ 2 / cosa
5/ 1 /calle

proveedores

id/nombre/productopro
1/jose/coca
2/carlos/casa
3/manuel/cama

SELECT *
FROM `proveedores`
LEFT JOIN productos ON ( productos.producto = proveedores.productopro
AND productos.id_proveedor = 1 )
WHERE productos.id_proveedor IS NULL

lo ise con un left join pero no me muestra un resultado cuando lo imprimo en un tabla de echo si pongo la consulta en phpmyadmin me muestra todos los productos que no tiene ese proveedor , que es lo que esta mal
el not where seria una solucion???'
  #2 (permalink)  
Antiguo 30/06/2011, 15:53
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: where not

Saludos

Pienso que podría ser de la siguiente manera:

Código MySQL:
Ver original
  1. SELECT DISTINCTROW  proveedores.id FROM proveedores
  2.     LEFT JOIN productos ON productos.id_proveedor =proveedores.id
  3.     WHERE
  4.     (productos.id_proveedor Is Null)
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 01/07/2011, 05:17
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: where not

Lo ideal seria que tengas una tabla mas

Productos
idProducto
Nombre
...

RelProductosProveedores
idProducto
idProveedor
...

Proveedores
idProveedor
Nombre
....

Esto te permitiria tener algun producto suministrado por mas de un proveedor...(imagina que tienes dos proveedores de Coca-Cola)

Pero esto no es lo que preguntas...

Cita:
como puedo seleccionar todas los productos que no tiene un proveedor mediante su id
tengo estas dos tablas
No se entiende muy bien....


Código MySQL:
Ver original
  1. SELECT * FROM productos WHERE id_proveedor IS NULL
Esto da los productos que no tienen proveedor.

Código MySQL:
Ver original
  1. SELECT * FROM productos WHERE id_proveedor<>1
Esto da los productos que no tiene el proveedor 1

Código MySQL:
Ver original
  1. SELECT * FROM preedores
  2.    WHERE id_proveedor NOT IN (SELECT id_proveedor
  3.          FROM productos GROUP BY id_proveedor)
Esto da los proveedores que no tienen productos
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 01/07/2011 a las 05:29

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:12.