Esta es la query original..
$sql_articulos = "select
idi.codigo,
idi.nombre,
idi.resumen,
art.codigo,
art.novedad,
art.puntoscompra,
art.puntoscanje,
art.tipooferta,
art.oferta,
art.idmarca,
art.idmodelo,
art.idmaterial,
art.tipo,
art.pvp,
art.novedad,
art.coche,
art.orden
from
articulos as art,
articulo_idioma as idi
where
art.codigo NOT IN ({$cods_reservados})
and
art.codigo = idi.codigo and
(art.baja IS NULL or art.baja > '".date('Y-m-d')."') ";
La cual me devuelve correctamente los datos tras un filtro. La pregunta ahora es..como lo hago para filtrar estos mismos datos,para SI mostrar los productos que todavía posean Stock libre..os lo explico con mi idea.
$sql_articulos = "select
idi.codigo,
idi.nombre,
idi.resumen,
art.codigo,
art.novedad,
art.puntoscompra,
art.puntoscanje,
art.tipooferta,
art.oferta,
art.idmarca,
art.idmodelo,
art.idmaterial,
art.tipo,
art.pvp,
art.novedad,
art.coche,
art.orden,
tal.stock
from
articulos as art,
articulo_idioma as idi,
articulos_tallas as tal
where
tal.stock >
(SELECT SUM(stock) AS total FROM articulos_tallas
WHERE codigo = tal.stock)
and
art.codigo NOT IN ({$cods_reservados})
and
art.codigo = idi.codigo and
(art.baja IS NULL or art.baja > '".date('Y-m-d')."') "
De esta forma,pretendo que se tenga en cuenta el stock inicial,y asi,si el producto no tiene reservado todo el STOCK,SÍ mostrarlo.
Necesito un filtro que me muestre los productos disponibles (que tengan Stock disponible)
Citarpretendo que se tenga en cuenta el stock inicial,y asi,si el producto no tiene reservado todo el STOCK,SÍ mostrarlo.
No entiendo lo que quieres hacer.
El filtro evita mostrar los productos cuyo id aparezca en la tabla de "Reservas",pero no se tiene en cuenta el stock,solamente que aparezca,y claro,de esta forma se filtrará un producto de stock 4 cuando haya reservado solo 1 de esos 4 disponibles
¿Quieres no mostrar productos sin stock?
¿Por qué no relacionas articulos con articulos_tallas como sí lo haces entre articulos y articulo_idioma ?
No tengo idea de cómo se componen y relacionan las tablas.