Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.
Modérateur :Vilains modOOs
Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
La modération vous a écrit: Encore une fois : titre modifié pour plus de clarté
Veillez à faire preuve d'inventivité pour refléter le problème exposé.
Un titre explicite n'est pas pour vous mais pour tous ceux effectuant des recherches.
Bonsoir,
Une petite question concernant des tables liées.
Une table de clients A est liée à une table des factures clients B dans une relation de 1 à n.
Ma question : Est-il possible de créer une requête sortant la liste des clients qui n'ont aucune facture ?
Merci de votre aide.
Dernière modification par Csarcey le 05 avr. 2023 16:25, modifié 1 fois.
Csarcey a écrit : ↑04 avr. 2023 20:51
Une table de clients A est liée à une table des factures clients B dans une relation de 1 à n.
Ma question : Est-il possible de créer une requête sortant la liste des clients qui n'ont aucune facture ?
Il faut faire une première requête qui liste les clients avec facture puis faire une exclusion avec la clause NOT EXISTS.
Il doit y avoir des exemples sur le forum.
OpenOffice 4.1.16 - Windows 11
+ LibO 25.8.5 (occasionnel pour test)
SELECT "nomclient", "montant" FROM "Factures" WHERE "montant" IS NULL
Csarsey n'a pas fourni de base exemple.
Cependant, je ne vois pas comment il serait possible d'extraire des clients sans facture avec cette requête ou l'autre que vous avez proposée.
Quand un client n'a pas de facture, son id n'est logiquement pas présent dans la table.
OpenOffice 4.1.16 - Windows 11
+ LibO 25.8.5 (occasionnel pour test)
SELECT DISTINCT "Personnes"."ID", "Personnes"."Pnom", "Personnes"."Pprénom", "Personnes"."Pabon", "Personnes"."Padresse11", "Personnes"."Padresse21", "Personnes"."Pcp1", "Personnes"."Pville1", "Personnes"."Ppays1", "Personnes"."Ptél1", "Personnes"."Pportable", "Personnes"."Pcourriel" FROM "Relance", "Paiements", "Personnes" WHERE "Personnes"."Pabon" = TRUE AND NOT EXISTS ( SELECT * FROM "Paiements" WHERE "Personnes"."ID" = "Paiements"."Rpid" AND YEAR( "Ddatrel" ) = YEAR( "Rdate" ) AND ( "Relance"."Dpres2" = "Paiements"."Rop" OR "Relance"."Dpres1" = "Paiements"."Rop" ) )
Merci à tous
Dernière modification par Oukcha le 06 avr. 2023 08:59, modifié 1 fois.
Raison :Balises [code] et [/code] = lecture et sélection simplifiées de votre requête