Requêtes

Bonjour,
je dispose de deux tables fpolice et fclients et je veux écrire une requête qui va renvoyer le nombre de clients ayant au moins une police active. Ensuite d'autres requêtes qui me donneront chacune:
-la part des clients ayant 1 police active;
-la part de clients ayant 2 polices actives
-la part des clients ayant 3 polices actives
les tables pouvant être joints par la clé codcli.

Cordialement,

1 réponse

  1. Modérateur
    Bonjour,
    Utilises le HAVING
    https://www.w3schools.com/sql/sql_having.asp
    0
    1. Bonjour Jordane45
      Voici mon programme qui me renvois je crois le nombre de clients ayant au moins une police active

      select count(*)
      from FCLIENA t1, fpolica t2
      where t1.CODCLI=t2.CODCLI
      and t2.CODTSI='1'
      and datfin is null

      Mon problème maintenant est de pouvoir déterminer les différents pourcentages c'est à dire ceux de clients ayant 1 police active, 2 et 3 polices actives
      0
    2. Modérateur
      @MbatchankuiJe te répète ..... UTILISE le HAVING !

      et au passage .... NON ta requête ne me semble pas correspondre à ce que tu souhaites faire dans l'immédiat.
      L'as tu au moins essayé directement dans ta BDD pour t'en rendre compte ???

      PS: **** Attention ****
      Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
      Explications disponibles ici :
      https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

      .
      0
    3. Je l'ai essayé dans ma BDD et elle marche du moins elle me renvoie un chiffre.
      Je ne comprend pas qua,d vous me dites juste d'utiliser le HAVING
      0
    4. Modérateur
      @Mbatchankuije t'ai donné un LIEN .... as tu été voir ????
      0
    5. Oui mais quand je fais un having ça ne marche pas
      select count(t2.codpol) as x
      from FCLIENA t1, fpolica t2
      where t1.CODCLI=t2.CODCLI
      and t2.CODTSI='1'
      and datfin is null
      having x * 100 /(select count(t2.codpol) as x
                      from FCLIENA t1, fpolica t2
                      where t1.CODCLI=t2.CODCLI
                      and t2.CODTSI='1'
                      and datfin is null)
      0