Multiple left joins or subquery?

estou a trabalhar em juntar várias tabelas para extrair alguns dados relacionados com “runs” do utilizador, isto inclui noções básicas como runID, nome de Utilizador, etc, mas também se junta aos tempos de execução e favoritos.

I have the query below which uses a LEFT JOIN for the user_run_times and run_favourites table.

a consulta deve mostrar todas as corridas para o utilizador, a última data foi executada, se for a favorita, e o tempo de execução mais rápido – tudo o que é mostrado, mas se mais de uma vez for registado, a contagem de favoritos vai acima de um (deve ser apenas um ou zero).

estou à procura de algumas sugestões sobre como melhorar esta consulta? A saída actual é:

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

coluna favourite deve exibir apenas um (como existe uma linha run_favourites), mas ele mostra três (dois por user_run_times e um para run_favourites)

Espero que eu não tenha feito isso muito confuso, se alguém poderia sugerir como eu posso saída a estrutura de tabela em um “texto” formato como a maioria aqui, então, vou postar também aqueles.Qualquer conselho apreciado, obrigado! 🙂

Deixe uma resposta

O seu endereço de email não será publicado.

More: