El orden de los factores altera el producto en los LEFT JOIN...
Si vas a ver las
ventas a los clientes, y necesitas los clientes, la tabla principal es CLIENTES, y no VENTAS.
Código MySQL:
Ver original idcliente,
nombre,
ciudad,
SUM(IF(YEAR(fecha
) = 2014, VE.subtotal
, 0.0)) total2014
, SUM(IF(YEAR(fecha
) = 2015, VE.subtotal
, 0.0)) total2015
, usuario
clientes cl
ventas ve
ON cl.id
= ve.clientesid
Por otro lado, cuando los valores sean numéricos,
no los pongas como cadenas de texto. Lo digo porque estás poniendo los años 2014 y 2015 como si fuesen textos, obligando a MySQL a hacer conversiones implícitas antiperformantes. Si esto mismo lo hicieras con otros DBMS podrías obtener un error de tipo de datos y un fallo de ejecución.
Ten presente eso.