Bien, supongamos que el campo `ht` tenga este tipo de valores "2-1". Si quisieras simplemente que el resultado de la operación saliese en la tabla, en principio sería
Parece bien, pero el problema es que SUBSTRING_INDEX() devuelve una cadena, y la operación de substracción no está definida para ese caso. Para hacerlo se debe transformar el valor en un número:
Ahora bien, si lo que quieres es que según quien sea el de mayor valor, devuelva un nombre determinado, el tema es simplemente que hay que usar esa misma función dentro de una función IF():
Si, por otro lado, quisieras simplemente saber cuál es el esquema de tantos y cuál el resultado (suponiendo que esto es una tabla de resultados futbolísticos), la cosa andaría por:
Código MySQL:
Ver original equipo1 `Local`,
equipo2 `Visitante`,
IF(CAST
(SUBSTRING_INDEX(`ht`, '-', -1) AS SIGNED) > CAST
(SUBSTRING_INDEX(`ht`, '-', 1) AS SIGNED), 'Local', IF(CAST
(SUBSTRING_INDEX(`ht`, '-', -1) AS SIGNED) < CAST
(SUBSTRING_INDEX(`ht`, '-', 1) AS SIGNED), 'Visitante', 'Empate') ) Ganador
,
Podrías seguir hasta casi la eternidad, con esto, pero creo que será suficiente por ahora.