- No se pueden usar los alias definidos en el SELECT dentro en la misma sentencia.
- Subconsultas en un SELECT son de pésima performance.
- El AS es obsoleto, ya no se requiere más que compatibilidad para motores muy viejos. Sólo le agrega mala legibilidad.
- Es más sencillo hacer:   
Código MySQL:
Ver original-     columnas,  
-     IF(- claemp =2,-  cantidad , 0) 'Compras Urbarrio',
 
-     IF(- claemp =5,-  cantidad , 0) 'Compras Motoexpress',
 
-     IF(- claemp =0,-  cantidad , 0) 'Compras Otros'