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

MySQL multiplie les résultats des sous-requêtes

Vous pouvez le faire en utilisant une sous-requête. La requête qui obtient les décomptes pour un identifiant particulier est :

SELECT a_id, s_count FROM tablename WHERE u_id = <id>

Vous voudrez joindre à gauche le résultat de cette sous-requête dans la table principale, puis substituer la multiplication appropriée, comme ceci :

SELECT u_id, SUM(counts.s_count * tablename.weighted) AS total FROM tablename 
LEFT JOIN (SELECT a_id, s_count FROM tablename WHERE u_id = 1) counts
  ON tablename.a_id = counts.a_id
GROUP BY u_id