J'ai 2 tables, une avec les utilisateurs et une autre avec les transactions. J'essaie d'afficher tous les utilisateurs avec la somme de leurs transactions.
L'instruction ci-dessous s'affiche correctement, sauf qu'elle n'inclut que les utilisateurs qui ont des transactions. Comment puis-je lister tous les utilisateurs et, s'il n'y a pas de transaction, afficher la somme à 0 ?
Voici la déclaration que j'utilise :
SELECT
user.ID, user.FirstName, user.LastName,
user.Username,
SUM(transaction.Amount) As Total
FROM user
LEFT JOIN transaction
ON user.ID = transaction.runnerID
WHERE user.event = 'EventX'
AND user.Active = 'True'
AND (user.tran_result = '1' OR user.tran_result ='manual' )
AND transaction.event = 'EventX'
AND (transaction.tran_result = '1' OR transaction.tran_result ='manual' )
GROUP BY user.ID
ORDER BY user.LastName ASC
Je suppose que c'est l'instruction WHERE qui supprime ces lignes, mais si je supprime l'instruction WHERE et que je place ces détails dans le LEFT JOIN, il semble que la tentative d'obtenir des résultats se bloque. (Il y a environ 2 000 utilisateurs et 40 000 transactions).
Merci !