J'ai deux tables différentes partageant les mêmes noms de colonnes. Les tableaux listent les mêmes produits identifiés par 'id'. Les produits ont des revenus différents dans les deux tableaux et sont répertoriés plusieurs fois dans chaque tableau.SQL - Ordre par somme de plusieurs tables partageant le champ commun
Je voudrais additionner le revenu des mêmes produits à travers les 2 tables et ORDER BY la somme. Le résultat consiste à trier les produits à revenus les plus élevés en premier.
J'ai essayé JOIN et UNION mais je n'arrive pas à trouver la bonne solution.
UNION requête J'ai essayé ...
SELECT id, SUM(rev) as total
FROM (
SELECT id, rev FROM table1 UNION ALL
SELECT id, rev FROM table2 UNION ALL
)
ORDER BY total DESC
REJOIGNEZ requête J'ai essayé ...
SELECT table1.id,
table1.rev,
table2.id,
table2.rev,
(table1.rev + table2.rev) as revenue
FROM table1
INNER JOIN table2 ON table1.id = table2.id
ORDER BY revenue DESC
Est-ce que ID et REV sont identiques pour les deux tables? – scsimon
Utilisez-vous MySQL ou Microsoft SQL Server? Veuillez supprimer l'étiquette non pertinente. –
Les ID sont les mêmes dans les deux tables et répertoriés plusieurs fois dans chaque. Le rev est différent sur la ligne. –