EL código que yo te pasé está correctamente escrito:
ya lo verifiqué con MySQL Workbench, y no contiene errores de sintaxis.
El que tu usaste, le falta un paréntesis al menos. Ten en cuenta que IF() en ese caso es una
función y no un
condicional.
Para mostrarte que la query no tiene errores, vamos a crear una tabla parecida a la que tienes (no tengo todos los detalles), y veamos como se comporta:
Código MySQL:
Ver original -> );
Query OK, 0 rows affected (0.08 sec)
Insertamos datos imaginarios:
Código MySQL:
Ver original -> VALUES ('', 1),('', 1),('', 1),('', 1),('', 1),('', 1),('', 1), -> ('Madrid', 1),('Madrid', 1),('Madrid', 1),('Madrid', 1),('Madrid', 1),
-> ('Madrid', 1),('Madrid', 1),('Madrid', 1),
-> ('Barcelona', 1),('Barcelona', 1),('Barcelona', 1),('Barcelona', 1),('Barcelona', 1),('Barcelona', 1),('Barcelona', 1),
-> ('Barcelona', 1),('Barcelona', 1),('Barcelona', 1),('Barcelona', 1),('Barcelona', 1),
-> ('Valencia', 1),('Valencia', 1),('Valencia', 1),('Valencia', 1),('Valencia', 1),('Valencia', 1),('Valencia', 1),('Valencia', 1),
-> ('Atletico', 1),('Atletico', 1),('Atletico', 1),('Atletico', 1),('Atletico', 1),('Atletico', 1),('Atletico', 1),('Atletico', 1),('Atletico', 1),
-> ('', 1),('', 1),('', 1),('', 1),('', 1),('', 1),('', 1),('', 1),('', 1);
Query OK, 53 rows affected (0.03 sec)
Y ejecutamos la ,query, con un ORDER BY para que sea más prolijo:
Código MySQL:
Ver original -> (SELECT IF(TRIM(equipo
) ='', 'Los otros', equipo
) equipos
, goles
-> FROM futbol
) equipos_goles
+-----------+------------+
| equipos | TotalGoles |
+-----------+------------+
| Los otros | 16 |
| Barcelona | 12 |
| Atletico | 9 |
| Valencia | 8 |
| Madrid | 8 |
+-----------+------------+
Obviamente, la query está bien...
Ahora, vamos a profundizar la revision. Insertamos unos equipos en NULL, y veamos como se comporta la primera consulta:
Código MySQL:
Ver originalmysql
> INSERT INTO futbol
(equipo
, goles
)VALUES (NULL, 1), (NULL, 1), (NULL, 1), (NULL, 1), (NULL, 1), (NULL, 1);Query OK, 6 rows affected (0.09 sec)
Consultamos:
Código MySQL:
Ver original -> FROM futbol
) equipos_goles
+-----------+------------+
| equipos | TotalGoles |
+-----------+------------+
| Vacios | 16 |
| Barcelona | 12 |
| Atletico | 9 |
| Valencia | 8 |
| Madrid | 8 |
| Nulos | 6 |
+-----------+------------+
Todo Ok...
NOTA BENE: Efectivamente, había un error en el segundo ejemplo de la query (no en el primero), porque en medio del tipeo se me borró la "N" de IFNULL... algo que con un poco de atención te podrías haber dado cuenta al ver el primero ejemplo pasado.
Consejo: Usa MSQL Workbench para codificar en MySQL. Tiene un corrector ortográfico y sintáctico automático que te evita problemas menores como este.
https://dev.mysql.com/downloads/workbench/5.2.html