Mysql
 sql >> Base de données >  >> RDS >> Mysql

Renvoie une seule ligne du tableau le plus à droite pour chaque ligne du tableau le plus à gauche

Utiliser :

  SELECT u.id,
         u.name,
         MIN(t.spent) AS spent
    FROM USERS u
    JOIN TRANSACTIONS t ON t.uid = u.id
GROUP BY u.id, u.name

N'oubliez pas que cela ne renverra que les utilisateurs qui ont au moins un enregistrement TRANSACTIONS. Si vous souhaitez voir les utilisateurs qui n'ont pas d'enregistrements justificatifs ainsi que ceux qui en ont, utilisez :

   SELECT u.id,
          u.name,
          COALESCE(MIN(t.spent), 0) AS spent
     FROM USERS u
LEFT JOIN TRANSACTIONS t ON t.uid = u.id
 GROUP BY u.id, u.name