multiple stânga se alătură sau subquery?

sunt de lucru pe aderarea la mai multe tabele împreună pentru a extrage unele date legate de utilizator „ruleaza”, aceasta include elementele de bază, cum ar fi runID, numele de utilizator, etc, dar, de asemenea, se alătură timpilor de rulare și Favorite.

am interogarea de mai jos care utilizează un LEFT JOIN pentru user_run_times și run_favourites tabel.

interogarea ar trebui să afișeze toate rulările pentru utilizator, ultima dată rulată, dacă este un favorit și cel mai rapid timp de rulare – toate acestea sunt afișate, dar dacă este înregistrat mai mult de o dată, numărul de favorite depășește unul (ar trebui să fie doar unul sau zero).

caut câteva sugestii cu privire la modul de îmbunătățire a acestei interogări? Ieșirea curentă este:

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

coloana favourite ar trebui să afișeze doar unul (deoarece există un rând în run_favourites) , dar arată trei (două pentru user_run_times și unul pentru run_favourites)

sperăm că nu am făcut acest lucru prea confuz, dacă cineva ar putea sugera cum pot scoate structura tabelului într-un format „text” ca cel mai mult pe aici, atunci le voi posta și pe acestea.

orice sfat apreciat, mulțumesc! 🙂

Lasă un răspuns

Adresa ta de email nu va fi publicată.

More: