Cita: "Subquery return more than 1 result"
Eso significa simplemente que al menos una de las subconsultas está devolviendo más de un registro, y eso es tan simple como:
Un consejo: Trata de no hacer códigos más complicados de lo necesario.
Si ya la query devuelve lo que necesitas, no tienes necesidad de implementarlo por medio de una sentencia preparada...
¿No te parece?