Cita:
Iniciado por eraw
Gracias!! pero al final lo he resuelto con subconsultas, el problema es que para cada count() el select es bastante grande, espero que no se me relentice en exceso al consulta
Mi solución ha sido:
y así hasta el infinito. No se si una consulta que al final son 100 líneas de consultas repitiendo las consultas pero cambiando a veces sólo una línea es lo más correccto...
Pues, te comento que hacerlo de ese modo te resultará terriblemente ineficiente en un momento dado muy cercano.
Es recomendable evitar las subconsultas en el SELECT, lo mismo que en el WHERE, ya que en ambos casos cada subconsulta se ejecutará una vez por cada registro devuelto del SELECT principal... Y en caso de campos no indexados, eso implicaría
hacer un full table scan por cada valor a obtener.
Tal vez te puedas imaginar lo que haría eso a la perfomance.
Lo que @quimfv te propone, por otro lado, hace un único table scan, obteniendo el resultado mucho más rápidamente.
Te recomiendo usar ese modo.