Hoy me ha pasado factura un fallo de diseño en una aplicación que estoy desarrollando, resulta que diseñé una tabla para recoger las estadísticas pero no me dí cuenta de que para obtener una serie de datos necesitaría hacer subconsultas y… aquí apareció mi problema.
Después de hacer la consulta y ejecutarla con el TOAD este devolvía un fallo de sintaxis, y al ser tan claro que la consulta estaba bien, me puse a investigar por Internet.
Al menos la versión 5.0 de mySQL soporta todos los modos de subconsultas que requiere el estándar SQL pero las anteriores.. no, exactamente, se comenzó a dar soporte a las consultas anidadas a partir de la versión 4.1, por lo que si tienes una versión más antigua, no podrás utilizarlas, pero no temas, siempre podrás reescribirlas utilizando joins.
Aparte de eso, si tu tabla ha sido diseñada como myISAM, que es la más típica, es necesario que sepas que este modo tampoco soporta las subconsultas.
Si has superado estas barreras y ya puedes hacer subconsultas en mySQL te aconsejaría que leyeras estas restricciones, quizás te puedan evitar algun que otro dolor de cabeza.