Cita: Con un campo que se muestre dentro de IF funciona correctamente, pero con varios no es posible.
Eso no te va a dejar hacerlo con ningun DBMS, incluyendo MySQL.
Una subconsulta aplicada a un único campo de un SELECT, debe forzosamente devolver un único valor. Siempre.
Si quieres que devuelva uno u otro en base a ciertas condiciones, debes hacerlo de modo que siempre termine devolviendo uno.