Tengo un pequeño problema en un sistema que estoy haciendo, se trata de una venta de productos en el cual el administrador elige los productos que estaran disponibles para la venta.
Para esto tenemos tres tablas involucradas
Mercado: Permite que usuarios de una empresa hagan una compra en un rango de tiempo determinado.
productos : Donde estan los producto y sus caracteristicas
producto_rechazado: contiene los productos que no se podran vender a determinados Mercados, tiene dos columnas una con el id_producto y otra con id_mercado
El problema: cuando el administrador quiere una lista de todos los productos permitidos para un mercado indistintamente si esta rechazado o no me muestra solo los productos que no estan rechazados
La Consulta:
Código:
,Select distinct producto.*, producto_rechazo.id_producto as rechazo from producto left join producto_rechazo on producto_rechazo.id_producto=producto.id_producto where producto_rechazo.id_mercado=".$id_mercado." || producto_rechazo.id_producto is null
Otros datos:* en las pruebas que estoy realizando el mercado id_mercado 9 es el unico que tiene produtos rechazados y en la lista los muestra todos, peero cuando trato de consultar todos los productos en el mercado 8 no me muestra los rechazados para el mercado 9
*la tabla productos no tiene realacion alguna con la tabla mercado
* entiendo porque sucede esto perfectamente
y es porque estoy relacionando la tabla con un left join por medio del id_producto y los productos estan en la lista de rechazo.
*la idea es que me muestre todos los productos y me traiga un valor null si no estan en la lista de producto_rechazo para un mercado especifico.
* insisto se cual es el problema con la consulta hecha por mi pero no se cual es la solución
si alguno sabe o tien idea de como ayudarme se lo agradezco de antemano,
nota : *se que podria solucionarlo con dos consultas y un poco de programación per no es la idea.
*tengo la idea de crear una columna (durante la consulta)que me diga si el producto esta en la lista de rechazo para ese mercado.
GRACIAS !!!