Bonjour à tous.
Dans le souci d'optimisation, je demande votre avis si une telle requêtte est faisable.
La base de donnée est sur un serveur Firebird version 1.5.
Alors, j'ai 2 tables
Table CALCULFRAIS
Table ACHAT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE TABLE CALCULFRAIS ( CLF_ID INTEGER NOT NULL, CLF_MNTMINI NUMERIC(12,2) NOT NULL, CLF_MNTMAXI NUMERIC(12,2) NOT NULL, CLF_TAUX NUMERIC(5,2) NOT NULL, CLF_VALEUR NUMERIC(12,2) NOT NULL ); Clé primaire (CLF_ID)
Voici les descriptif de 2 tables :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 CREATE TABLE ACHAT ( ACH_ID SMALLINT NOT NULL, ACH_QTECMD NUMERIC(12,2) NOT NULL, ACH_PUEURO NUMERIC(18,2) NOT NULL, ACH_NUMBC VARCHAR(20), ACH_DATEBC DATE, .... ); Clé primaire ACH_ID
CALCULFRAIS : Table qui donne le taux et la valeur de chaque frais en fonction des intervalle de montant des achats (CLF_MNTMINI et CLF_MNTMAXI)
ACHAT : tables des achats.
Ce que je veux en faites c'est d'avoir le montant des Achat groupé par bon de commande, mais aussi le taux et Valeur de chaque frais.
Les 2 tables n'ont pas de relation, seulement, le montant du BC détermine le taux et frais récupéré.
Pour l'instant, je fais 2 requêtes différentes pour chaque ligne, et je cherche à recuperer le tout dans une seule requête genre
Merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT ACH_NUMBC ,(SUM(ACH_QTECMD * ACH_PUEURO)) AS ACH_MONTBC, CLF_TAUX, CLF_VALEUR FROM ACHAT INNER JOIN CALCULFRAIS ON (SUM(ACH_QTECMD * ACH_PUEURO)) BETWEEN CLF_MNTMINI AND CLF_MNTMAXI GROUP BY ACH_NUMBC
Partager