Regrouper 2 requêtes en une ?
Résolu
emrh
Messages postés
439
Statut
Membre
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
Bonjour à tous,
Voila 2 requêtes qui fonctionnent parfaitement mais que j'aimerai, si techniquement c'est possible,
regrouper en une seule pour simplifier la programmation php ensuite :


Ça fait 2 heures que je lis des tutos pour essayer de comprendre comment faire mais dans le meilleur des cas j'obtiens la facture 500 et tous les versements de toutes les autres factures lui sont affectés !
Merci d'avance pour votre aide !
Voila 2 requêtes qui fonctionnent parfaitement mais que j'aimerai, si techniquement c'est possible,
regrouper en une seule pour simplifier la programmation php ensuite :
SELECT contrats.facture, SUM(T.total) AS Total_facture FROM (SELECT id_contrat,prix*quantites AS total FROM compositions) AS T INNER JOIN contrats ON contrats.id_contrat = T.id_contrat WHERE contrats.etat = 3 AND contrats.id_client = :id_client GROUP by contrats.facture

SELECT acomptes.facture, SUM(acomptes.acompte_recu) AS VERST FROM acomptes GROUP BY acomptes.facture

Ça fait 2 heures que je lis des tutos pour essayer de comprendre comment faire mais dans le meilleur des cas j'obtiens la facture 500 et tous les versements de toutes les autres factures lui sont affectés !
Merci d'avance pour votre aide !
Configuration: Linux / Chrome 99.0.4844.84
A voir également:
- Regrouper 2 requêtes en une ?
- Supercopier 2 - Télécharger - Gestion de fichiers
- Regrouper plusieurs feuilles excel en une seule - Guide
- Comment regrouper des applications sur android - Accueil - Guide Android
- Comment regrouper plusieurs pdf en un seul - Guide
- 2 ecran pc - Guide
1 réponse
Bonjour,
Tu dois pouvoir essayer de faire un truc du genre
Tu dois pouvoir essayer de faire un truc du genre
SELECT C.facture
,SUM(T.total) AS Total_facture
,T2.VERST
FROM (SELECT id_contrat,prix*quantites AS total FROM compositions) AS T
INNER JOIN contrats C ON C.id_contrat = T.id_contrat
LEFT JOIN ( SELECT A.facture, SUM(A.acompte_recu) AS VERST FROM acomptes A GROUP BY A.facture) T2 ON T2.facture = C.facture
WHERE C.etat = 3
AND C.id_client = :id_client
GROUP by C.facture
Bah je risquais pas de trouver, c'est du high level ça !
Mille merci Jordan !
(J'vais qd même essayer de comprendre comment tu as fais...)
Après c'est surtout une question d'expérience