Grouper les donnees provenant d'une requete
Fermé
bamdji
-
23 oct. 2017 à 18:24
DandypunkII Messages postés 70 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 5 octobre 2021 - 1 nov. 2017 à 06:50
DandypunkII Messages postés 70 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 5 octobre 2021 - 1 nov. 2017 à 06:50
A voir également:
- Grouper les donnees provenant d'une requete
- Effacer les données de navigation - Guide
- Comment sauvegarder toutes les données de mon téléphone - Guide
- Reinstaller windows sans perte de données - Guide
- Pourquoi effacer les données d'une application - Guide
- Impossible de coller les données de votre organisation ici. - Forum Incredimail
1 réponse
DandypunkII
Messages postés
70
Date d'inscription
jeudi 28 février 2013
Statut
Membre
Dernière intervention
5 octobre 2021
1 nov. 2017 à 06:50
1 nov. 2017 à 06:50
Bonjour,
Prenons l'analyse suivante :
Nous désirons avoir la somme des achats des clients et leur nombre d'achats.
En SQL nous aurions :
et
Avec Windev 2 options s'offrent à toi :
-Gérer ces requêtes en "mode texte" dans ton code via SQLExec (https://doc.pcsoft.fr/fr-FR/?3072007&name=SQLExec&verdisp=180%29
-Utiliser l'éditeur de requêtes.
Pour cela il faut créer une nouvelle requête (Nouveau/Requête).
Tu as 6 options disponibles :
Select, SQL, Ajout, Union, Modification et Suppression.
Nous nous intéresserons à l'option Select.
Dans la zone 1 sélectionne les colonnes désirées et place les dans la zone 2 soit via un double clic, soit via les flèches (6)
Une fois cela fait sélectionne dans la zone 2 la colonne sur laquelle tu veux faire le calcul. FACTURE_CLIENT.Total (resp FACTURE_CLIENT.PK_FACTURE_CLIENT.)
La zone 3 sert à affiner la recherche. Il suffit de sélectionner Somme (resp compter), la modification se fait en zone 2.
Tu peux modifier si tu le désire le nom des colonnes qui sera utilisé(le AS dans SQL) via la zone 4.
Dans la zone 5, tu as la description de ta requête en langage naturel ou en SQL.
On valide et ta requête est disponible. Tu pourras la tester via le "GO".
Cerise sur le gâteau.Tu désires voir apparaître les clients qui n'ont pas de factures.
En SQL tu écrirais :
Avec Windev :
Un double clic sur "Jointure" et il suffit de cocher la case qui va bien.
Prenons l'analyse suivante :
Nous désirons avoir la somme des achats des clients et leur nombre d'achats.
En SQL nous aurions :
SELECT CLIENTS.PK_CLIENT AS CLIENT, CLIENTS.NDX_NomClient AS Nom, SUM(FACTURE_CLIENTS.Total) AS SommeDesAchats FROM CLIENTS, FACTURE_CLIENTS WHERE CLIENTS.PK_CLIENT = FACTURE_CLIENTS.FK_CLIENT GROUP BY CLIENTS.PK_CLIENT, CLIENTS.NDX_NomClient ORDER BY PK_CLIENT ASC
et
SELECT CLIENTS.PK_CLIENT AS CLIENT, CLIENTS.NDX_NomClient AS Nom, COUNT(FACTURE_CLIENTS.PK_FACTURE_CLIENTS) AS NbFacture FROM CLIENTS, FACTURE_CLIENTS WHERE CLIENTS.PK_CLIENT = FACTURE_CLIENTS.FK_CLIENT GROUP BY CLIENTS.PK_CLIENT, CLIENTS.NDX_NomClient ORDER BY CLIENT ASC
Avec Windev 2 options s'offrent à toi :
-Gérer ces requêtes en "mode texte" dans ton code via SQLExec (https://doc.pcsoft.fr/fr-FR/?3072007&name=SQLExec&verdisp=180%29
-Utiliser l'éditeur de requêtes.
Pour cela il faut créer une nouvelle requête (Nouveau/Requête).
Tu as 6 options disponibles :
Select, SQL, Ajout, Union, Modification et Suppression.
Nous nous intéresserons à l'option Select.
Dans la zone 1 sélectionne les colonnes désirées et place les dans la zone 2 soit via un double clic, soit via les flèches (6)
Une fois cela fait sélectionne dans la zone 2 la colonne sur laquelle tu veux faire le calcul. FACTURE_CLIENT.Total (resp FACTURE_CLIENT.PK_FACTURE_CLIENT.)
La zone 3 sert à affiner la recherche. Il suffit de sélectionner Somme (resp compter), la modification se fait en zone 2.
Tu peux modifier si tu le désire le nom des colonnes qui sera utilisé(le AS dans SQL) via la zone 4.
Dans la zone 5, tu as la description de ta requête en langage naturel ou en SQL.
On valide et ta requête est disponible. Tu pourras la tester via le "GO".
Cerise sur le gâteau.Tu désires voir apparaître les clients qui n'ont pas de factures.
En SQL tu écrirais :
SELECT CLIENTS.PK_CLIENT AS CLIENT, CLIENTS.NDX_NomClient AS Nom, SUM(FACTURE_CLIENTS.Total) AS SommeDesAchats FROM CLIENTS LEFT OUTER JOIN FACTURE_CLIENTS ON CLIENTS.PK_CLIENT = FACTURE_CLIENTS.FK_CLIENT GROUP BY CLIENTS.PK_CLIENT, CLIENTS.NDX_NomClient ORDER BY PK_CLIENT ASC
Avec Windev :
Un double clic sur "Jointure" et il suffit de cocher la case qui va bien.