Regrouper 2 requêtes en une ?

Résolu/Fermé
emrh Messages postés 427 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 9 avril 2024 - 11 avril 2022 à 16:05
jordane45 Messages postés 38312 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 - 11 avril 2022 à 20:28
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 :

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:

1 réponse

jordane45 Messages postés 38312 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
11 avril 2022 à 16:53
Bonjour,

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

1
emrh Messages postés 427 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 9 avril 2024 20
11 avril 2022 à 18:32
Whouawwww ! La requête de malade !!!!
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...)
0
emrh Messages postés 427 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 9 avril 2024 20
11 avril 2022 à 18:40
Comment mentalement on construit ce genre de requête, je veux dire quel est la manière de procéder pour rédiger un truc pareil ?
0
jordane45 Messages postés 38312 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705 > emrh Messages postés 427 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 9 avril 2024
11 avril 2022 à 20:28
Ça ce n'est rien.. j'ai déjà fait bien pire :-)
Après c'est surtout une question d'expérience
0