Mysql jointure gauche et de la somme
J'ai trois table et j'ai besoin de somme séparément. Aussi je vais utiliser des champs sur sélectionner ou la clause where.
SELECT i.*, x.* FROM items AS i
LEFT JOIN
(
SELECT
p.item_id
,SUM(p.amount) AS saleAmount
,SUM(IF(p.type=1,pa.amount,0)) AS paidAmount
FROM payments AS p
LEFT JOIN payment_actions AS pa ON pa.payment_id=p.id
GROUP BY p.id
) AS x ON x.item_id=i.id
articles de table;
id
---
1
tableau paiements;
id | item_id | amount
---------------------------
1 | 1 | 300
payment_actions table;
id | payment_id | amount
---------------------------
1 | 1 | 100
1 | 1 | 50
Le résultat devrait être;
saleAmount | paidAmount
--------------------------
300 | 150
- quel est votre sortie désirée et s'il vous plaît poster un exemple de données?
- J'ai mis à jour la question
Vous devez vous connecter pour publier un commentaire.
Voici un moyen facile pour votre résultat souhaité