Salut,
J'utilise access pour produire de mini états à partir de requètes.
Oui je sais access, caca mais je tape dans une bdd exotique via un lien ODBC, si quelqu'un a mieux comme générateur de petites appli
Voilà mon problème:
Partons sur deux tables
table 1: FACTURE (renseignements généraux de la facture) clef primaire num (numéro de la facture)
table 2: FACTURE_ELEM (détails des lignes de la facture) clef primaire num + no ( numéro + ligne de la facture)
dans la table 1 j'ai un champ "date_emis" et un champ "code_client"
dans la table 2 j'ai un champ "ref", un champ "qté" et un champ "prix"
j'aimerais faire une requête de regroupement par client et par référence qui me somme les quantités et qui me ramène le prix de la facture la plus récente.
Je vais essayer d'écrire cela en SQL même si je n'ai pas l'habitude.
Commençons par la somme des quantité par client et référence:
Code :
SELECT code_client, ref, SUM(qte) FROM FACTURE INER JOIN FACTURE_ELEM ON FACTURE.num = FACTURE_ELEM.num GROUP BY code_client, ref
|
Ok pour un regroupement (aggregation) de base sur une fonction arithmétique de somme
Voyons la façon d'afficher la facture la plus récente par client et par référence:
Code :
SELECT code_client, ref, MAX(date_emis) FROM FACTURE INER JOIN FACTURE_ELEM ON FACTURE.num = FACTURE_ELEM.num GROUP BY code_client, ref
|
ça fonctionne bien mais je bloque toujours sur le fait d'afficher un autre champ lié en plus de la date.
Si par exemple je veux afficher le prix de la reference de la facture la plus récente
Code :
SELECT code_client, ref, MAX(date_emis), prix FROM FACTURE INER JOIN FACTURE_ELEM ON FACTURE.num = FACTURE_ELEM.num GROUP BY code_client, ref, prix
|
Si j'écris la requête comme cela , je n'ai plus mon regroupement par client et référence mais aussi par prix.
En fait je voudrais avoir la facture la plus récente par client et par référence avec son prix associé.
Je sens que la réponse va être sous-requête.
Merci de m'avoir lu
Jet