flera vänster sammanfogningar eller subquery?

jag arbetar med att gå med i flera tabeller tillsammans för att extrahera vissa data relaterade till användarens ”körningar”, detta inkluderar grunder som runID, användarnamn etc men går också med i körtider och favoriter.

jag har frågan nedan som använder en LEFT JOIN för tabellen user_run_times och run_favourites.

frågan ska visa alla körningar för användaren, det senaste datumet sprang, om det är en favorit och den snabbaste körtiden – som alla visas, men om mer än en gång loggas går favoriträkningen över en (bör bara vara en eller noll).

jag letar efter några förslag på hur man kan förbättra denna fråga? Den nuvarande produktionen är:

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

kolumnen favourite ska bara visa en (eftersom det finns en rad i run_favourites) men den visar tre (två för user_run_times och en för run_favourites)

förhoppningsvis har jag inte gjort detta för förvirrande, om någon kunde föreslå hur jag kan mata ut tabellstrukturen i ett ”text” – format som de flesta här så kommer jag också att posta dem.

alla råd uppskattade, tack! 🙂

Lämna ett svar

Din e-postadress kommer inte publiceras.

More: