Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/01/2012, 10:37
Avatar de arsenal
arsenal
 
Fecha de Ingreso: agosto-2008
Mensajes: 65
Antigüedad: 15 años, 8 meses
Puntos: 2
Mejorar consulta

Hola chicos buenos días a todos,

Vera tengo un problema pasa que estoy haciendo lo siguiente..

tengo dos tablas :

proveedores (tabla 1)
id_proveedor
nombre

empresa_proveedor (tabla 2)
id
id_empresa
id_proveedor

La tabla 2 como veran solo es para relacionar empresa con algun proveedor


entonces uso esta consulta para mostrarle a la empresa registrada los proveedores que contamos


Código MySQL:
Ver original
  1. select p.id_proveedor,p.nombre
  2.             FROM empresa_proveedor ep
  3.             RIGHT JOIN proveedores p ON ep.proveedor = p.id_proveedor
  4.             WHERE ep.proveedor IS NULL

la idea de esta consulta es que me muestre los proveedores que estan libre que no estan asociados a la empresa, o sea:

tengo en la tabla 1 3 registros asi:

id_proveedor nombre
1 proveedor 1
2 proveedor 2
3 proveedor 3


en la tabla 2 tengo los siguientes registros
id id_empresa id_proveedor
1 1 1



la consulta me debe arrojar solo el proveedor 2 y proveedor 3 porque proveedor ya lo tiene asociado.


esa consulta me funciona bien pero el problema es cuando ya es otra empresa, ejemplo a la empresa 2 solo le muestra proveedor 2 y proveedor 3, esto pasa porque empresa 1 ya tiene a proveedor 1, cuando a empresa 2 le deberia mostrar los 3 proveedores disponibles o sea proveedor 1, proveedor 2 y proveedor 3


porque pasa esto?