Con eso tienes las cajas que tiene mas de 2 productos ahi vamos bien:
Código SQL:
Ver originalSELECT n_venta, caja, COUNT(*) AS cuenta
FROM ventas
GROUP BY n_venta,caja
HAVING (caja = 1227) AND (COUNT(*) > 2)
y si haces esto:
Código SQL:
Ver originalSELECT * FROM articulos AS t1
LEFT JOIN (
SELECT n_venta, caja, COUNT(*) AS cuenta
FROM ventas
GROUP BY n_venta,caja
HAVING (caja = 1227) AND (COUNT(*) > 2)
) AS t2 ON (t1.caja=t2.caja)
WHERE t1.articulo='tu articulo'
No ocupas hacer procedures ni consultas aparte ;), ni ralentizas el server, ni usas recursividad ;) solamente usas subqueries :)