flere venstre joinforbindelser eller underforespørgsel?

jeg arbejder på at forbinde flere tabeller sammen for at udtrække nogle data relateret til brugerens “kørsler”, dette inkluderer grundlæggende som runID, brugernavn osv., men slutter sig også til køretider og favoritter.

jeg har forespørgslen nedenfor, som bruger en LEFT JOIN til user_run_times og run_favourites tabellen.

forespørgslen skal vise alle kørsler for brugeren, den seneste dato løb, hvis det er en favorit, og den hurtigste køretid – som alle vises, men hvis mere end en gang er logget favorittællingen går over en (bør kun nogensinde være en eller nul).

jeg leder efter nogle forslag til, hvordan man forbedrer denne forespørgsel? Den nuværende udgang er:

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

kolonnen favourite skal kun vise en (da der er en række i run_favourites), men den viser tre (to for user_run_times og en for run_favourites)

forhåbentlig har jeg ikke gjort dette for forvirrende, hvis nogen kunne foreslå, hvordan jeg kan udsende tabelstrukturen i et “tekst” – format som de fleste her, så vil jeg også sende dem.

ethvert råd værdsat, tak! 🙂

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.

More: