essayez la jointure interne au lieu de la sous-requête, c'est la valeur par défaut pour guider la requête sans s'exécuter sur les données, mais peut-être que suivre la requête vous aidera.
SELECT User
.id
, User
.username
, User
.password
, User
.role
, User
.created
, User
.modified
, User
.email
, User
.other_user_id
, User
.first_name
, User
.last_name
, User
.place_id
, Resume
.id
, Resume
.user_id
, Resume
.other_resume_id
, Resume
.other_user_id
, Resume
.file_extension
, Resume
.created
, Resume
.modified
, Resume
.is_deleted
, Resume
.has_file
, Resume
.is_stamped
, Resume
.is_active
DEstreetofwalls
.users
AS User
JOINTURE GAUCHE my_database
.attempts
AS Attempt
ON (Attempt
.user_id
=User
.id
ET Attempt
.test_id
!=5)LEFT JOIN my_database
.reports
AS Resume
ON (Resume
.user_id
=User
.id
)
, my_database
.users
AS Utilisateur1
LEFT JOIN my_database
.tags_users
AS TagUser sur (User1
.id
=TagUser
.user_id
)
LEFT JOIN my_database
.tags
Balise AS activée (TagUser
.tag_id
=Tag
.id
)
WHEREUser
.id
=User1
.id
ET Attempt
.test_id
=8ET Attempt
.score
> 60
ET Resume
.has_file
=1ET Tag
.id
='8' ET Tag
.id
!='3'GROUPER PAR User
.id
ORDER BY Attempt
.score
DESC ;