Varias uniones a la izquierda o subconsulta?

Estoy trabajando en unir varias tablas para extraer algunos datos relacionados con las «ejecuciones» del usuario, esto incluye elementos básicos como runID, nombre de usuario, etc., pero también se une a los tiempos de ejecución y favoritos.

Tengo la consulta a continuación que utiliza un LEFT JOIN para las tablas user_run_times y run_favourites.

La consulta debe mostrar todas las ejecuciones para el usuario, la última fecha de ejecución, si es un favorito y el tiempo de ejecución más rápido, todo lo cual se muestra, pero si se registra más de una vez, el recuento de favoritos supera uno (solo debe ser uno o cero).

estoy buscando algunas sugerencias sobre cómo mejorar esta consulta? La salida actual es:

UserID runID createdBy username dateCreated favourite lastRan fastestTime4 3 3 bob 11-12-2011 3 27-01-2012 36920030

La columna favourite solo debe mostrar una (ya que hay una fila en run_favourites), pero muestra tres (dos para user_run_times y una para run_favourites)

Espero no haber hecho esto demasiado confuso, si alguien pudiera sugerir cómo puedo generar la estructura de la tabla en un formato de «texto» como la mayoría de aquí, también los publicaré.

Cualquier consejo apreciado, gracias! 🙂

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

More: