sql >> Base de Datos >  >> RDS >> Mysql

Devuelve solo una fila de la tabla más a la derecha para cada fila en la tabla más a la izquierda

Usar:

  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

Tenga en cuenta que esto solo devolverá a los usuarios que tengan al menos un registro de TRANSACCIONES. Si desea ver los usuarios que no tienen registros de respaldo, así como los que sí los tienen, use:

   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