Orientation syntaxique pour requete restrictive !
Posté : 30 oct. 2006, 16:30
Bonjour,
Voilà j'aurai besoin d'un petit coup de pouce car je n'arrive pas à réaliser la requête suivante :
- Afficher la liste des devis dont au moins une facture ou au moins une échéance existe sur la période donnée.
Pour le moment j'ai découpé ma requete en deux (mais pour une question de ressource je souheterai la faire en une fois avec MySQL) :
A - Récupération des devis dont au moins une facture existe
B - Récupération des devis dont au moins une échéance existe
SQL A - select distinct(D.num_aff) from devis D, factures_ech E where D.id=E.id_dev and E.date>'2006-10-00' and E.date<'2006-13-00'
SQL B - select distinct(D.num_aff) from devis D, factures F, lignes_fac L where L.id_dev=D.id and F.id=L.id_fac and F.date>'2006-10-00' and F.date<'2006-13-00'
Les requetes A et B retournent toutes deux des résultats mais si je les combine alors mes résultats ne sont plus du tout correct (tester de différentes manières).
Je pensais que le problème venait de ma vieille syntaxique mais je suis pas sure de bien exploiter les INNER JOIN, LEFT OUTER JOIN etc..
J'ai tenté d'effectuer des count sur les tables "lignes_fac" et "factures_ech" avec des having en fin de requete mais pareil je suis pas certains de correctement l'utiliser (double condition dans le having)
Je vous exposerai bien toutes les formes de requetes que j'ai essayé mais j'ai peur de rendre ce post illisible
Voilà j'espère avoir pu être assez clair pour qu'une âme charitable me sorte de cette difficulté.
Voilà j'aurai besoin d'un petit coup de pouce car je n'arrive pas à réaliser la requête suivante :
- Afficher la liste des devis dont au moins une facture ou au moins une échéance existe sur la période donnée.
Pour le moment j'ai découpé ma requete en deux (mais pour une question de ressource je souheterai la faire en une fois avec MySQL) :
A - Récupération des devis dont au moins une facture existe
B - Récupération des devis dont au moins une échéance existe
SQL A - select distinct(D.num_aff) from devis D, factures_ech E where D.id=E.id_dev and E.date>'2006-10-00' and E.date<'2006-13-00'
SQL B - select distinct(D.num_aff) from devis D, factures F, lignes_fac L where L.id_dev=D.id and F.id=L.id_fac and F.date>'2006-10-00' and F.date<'2006-13-00'
Les requetes A et B retournent toutes deux des résultats mais si je les combine alors mes résultats ne sont plus du tout correct (tester de différentes manières).
Je pensais que le problème venait de ma vieille syntaxique mais je suis pas sure de bien exploiter les INNER JOIN, LEFT OUTER JOIN etc..
J'ai tenté d'effectuer des count sur les tables "lignes_fac" et "factures_ech" avec des having en fin de requete mais pareil je suis pas certains de correctement l'utiliser (double condition dans le having)
Je vous exposerai bien toutes les formes de requetes que j'ai essayé mais j'ai peur de rendre ce post illisible
Voilà j'espère avoir pu être assez clair pour qu'une âme charitable me sorte de cette difficulté.