Bonjour à tous,
Je suis sur ce forum, celui pour les SGBD étant fermé.
J'utilise Delphi 10.2.2 et une BDD sous Sqlite3. Or je manque de compétence, entre autre, en SQL pour résoudre le problème suivant :
Contexte.
Soit une association avec un certain nombre d'adhérents situés dans un certain nombre de départements.
- 1 couple = 1 cotisation mais 2 adhérents.
- 1 personne seule = 1 cotisation et 1 adhérent(e).
La requête ci-dessous fonctionne très bien mais ne me donne que le nombre de cotisations dans chaque département. Or je veux connaître le nombre d'adhérents, les couples comptant évidemment pour 2 adhérents.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
With Datas.QAdherents do
begin
  SQL.Clear;
  SQL.Add('SELECT Dpt, COUNT(Dpt) AS Nb, Nombre, Civilite, Nom, Prenom, Membre, Print, Adresse, Localite, Courriel, Telephone, TeleMobile, Envoi, Cotisation, Dons, Sortie, Paiement_sortie, Visite1, Repas, Visite2, Degrevement, Observations');
  SQL.Add('FROM tblAdherents WHERE Nombre <> 0 GROUP BY Dpt ORDER BY Nb DESC');
  Open;
 
  Datas.QAdherents.first;
  MemoDpt.Clear;
  While not Datas.QAdherents.Eof do
  begin
    Nb := (Datas.QAdherents.Fields[1].AsInteger);
    MemoDpt.Lines.Add('Département ' + Datas.QAdherents.FieldByName('Dpt').Value  + ' : ' + IntToStr(Nb) + ' cotisation.s');
    Datas.QAdherents.Next;
  end;
end;
Précision : j'ai un champ Dpt (département) et un champ Nombre (1 pour une personne seule, 2 pour un couple).
Je me suis inspiré d'un exemple du forum. Vive le forum !
Merci à tous et joyeuses fêtes malgré tout. Faites attention...