Bonjour,
J'ai un petit soucis pour créer une requête et j'ai besoin d'une petite aide svp.
Explication: Je cherche à obtenir les clients( f_cli) avec le code like'005%' ayant un contrat (f_pol) en vigueur(situation=1) et un echéance precise (echeance between).
Jusque là pas de soucis.
Après il faudrait y ajouter la quittance (f_qui) la plus récente du contrat.
Il faudrait aussi obtenir les contrats qui ne possèdent pas de quittance mais qui correspond aux critères de sélection.
pour cela j'ai utilisé LEFT JOIN ainsi qu'une clause avec le top 1.
Malheureusement cela ne me retourne pas la dernière quittance.
Le MAX(qui_idauto) n'est pas accepté dans la clause where et je ne peux pas trier par id_auto.
Je suis donc un peu bloqué...
Je ne sais pas si vous avez réussi à comprendre ma demande mais peut-être un Union pourra m'aider mais j'ai des doutes.
Voici le code
Merci pour votre lecture et futures réponses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT F_POL.POL_CONTRAT,F_CLI.CLI_CODE,F_QUI.QUI_IDAUTO FROM F_CLI JOIN F_POL ON F_CLI.CLI_CODE=F_POL.CLI_CODE LEFT JOIN F_QUI ON F_QUI.POL_IDAUTO=F_POL.POL_IDAUTO WHERE CLI_CODE LIKE '005%' AND F_POL.POL_SITUATION=1 AND F_POL.POL_ECHEANCEPRINCIPALE BETWEEN '0101' AND '1231' AND F_QUI.QUI_IDAUTO = (SELECT TOP 1 F_QUI.QUI_IDAUTO FROM F_QUI WHERE F_QUI.POL_IDAUTO=F_POL.POL_IDAUTO)
Partager