Più sinistra join o subquery?

Sto lavorando per unire più tabelle insieme per estrarre alcuni dati relativi alle “corse” degli utenti, questo include nozioni di base come runID, username ecc.

Ho la query di seguito che utilizza un LEFT JOIN per la tabella user_run_times e run_favourites.

La query dovrebbe mostrare tutte le esecuzioni per l’utente, l’ultima data di esecuzione, se è una preferita e il tempo di esecuzione più veloce – Tutto ciò viene visualizzato, ma se viene registrata più di una volta il conteggio dei preferiti supera uno (dovrebbe essere sempre uno o zero).

Sto cercando alcuni suggerimenti su come migliorare questa query? La corrente di uscita è:

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

La colonna favourite dovrebbe visualizzarne solo una (poiché c’è una riga in run_favourites) ma ne mostra tre (due per user_run_times e una per run_favourites)

Spero di non averlo reso troppo confuso, se qualcuno potesse suggerire come posso produrre la struttura della tabella in un formato “testo” come la maggior parte qui, allora pubblicherò anche quelli.

Qualche consiglio apprezzato, grazie! 🙂

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

More: