Maestros, tengo el siguiente query....
$query = "SELECT SUM(b_.`bod_mov_cantidad`) as cantidad, b.`bod_descripcion`, b.`bod_id` , b.`bod_stockcritico` as stock, CEIL(((25*b.`bod_stockcritico`)/100)+b.`bod_stockcritico`) as p1, CEIL(((50*b.`bod_stockcritico`)/100)+b.`bod_stockcritico`) as p2, IF(SUM(b_.`bod_mov_cantidad`)>=CEIL(((50*b.`bod_st ockcritico`)/100)+b.`bod_stockcritico`),1,
IF(SUM(b_.`bod_mov_cantidad`)<CEIL(((50*b.`bod_sto ckcritico`)/100)+b.`bod_stockcritico`) AND SUM(b_.`bod_mov_cantidad`)>=CEIL(((25*b.`bod_stock critico`)/100)+b.`bod_stockcritico`),2,3)) AS calc FROM `bodega` b, `bod_movimiento` b_ WHERE b.`bod_id`=b_.`bod_id` AND ((b.`bod_descripcion` LIKE '".$_REQUEST['buscar']."%') or (b.`bod_descripcion` LIKE '%\ ".$_REQUEST['buscar']."%') or (b.`bod_id` LIKE '".$_REQUEST['buscar']."')) GROUP BY b.`bod_id` ORDER BY calc DESC";
funciona perfectamente, me entrega valores en segun porcentajes, o sea, para mayores de 50% = 1, entre 50% y 25% = 2 y menos de 25%=3, como les digo funciona bien, el problema o pregunta es que cuando quiero que solo me entregue por ejemplos los valores que sean =3 me sale el error "Unknown column 'calc' in 'where clause'", 'calc' hace referencia a la operacion IF (as calc)
el error ocurre al querer colocar entre ....(b.`bod_id` LIKE '".$_REQUEST['buscar']."')) GROUP BY b.`bod_id`.... la opcion ..... (b.`bod_id` LIKE '".$_REQUEST['buscar']."')) AND calc='3' GROUP BY b.`bod_id`....
lo extraño es que si reconoce el ORDER BY calc DESC
creen que me puedan ayudar..... GRACIAS