Fourre Tout

C'est mon pense-bête

Outils pour utilisateurs

Outils du site


sql:start

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
sql:start [2024/03/06 20:38]
jce ajouts requêtes
— (Version actuelle)
Ligne 1: Ligne 1:
-====== Exemples de requêtes sql ====== 
  
-===== Membres ===== 
-  * Membres qui sont inscrits à une activité sans avoir d'adhésion. 
-<code sql> 
-SELECT 
-  membres.nom, 
-  membres.email, 
-  membres.id AS _user_id, 
-  s.label AS 'Activité', 
-  f.label AS 'Tarif', 
-  su.paid AS 'Payé', 
-  su.date AS 'Date' 
-FROM membres 
-  INNER JOIN services_users su ON su.id_user = membres.id 
-  INNER JOIN services s ON s.id = su.id_service 
-  INNER JOIN services_fees f ON f.id = su.id_fee 
-WHERE s.id != 1 AND su.date >= s.start_date 
-    AND su.id_user NOT IN (SELECT id_user FROM services_users sus WHERE sus.id_service = 1 AND sus.date >= s.start_date) 
-ORDER BY membres.nom ASC LIMIT 1000 
-; 
-</code> 
- 
-  * Membres inscrits à une activité sans avoir d'adhésion. (Eric Buissonnet <e.buissonnet@free.fr>) 
-<code sql> 
-SELECT 
-  users.nom, 
-  users.email, 
-  users.id AS _user_id, 
-  s.label AS 'Activité', 
-  f.label AS 'Tarif', 
-  su.paid AS 'Payé', 
-  su.date AS 'Date' 
-FROM users 
-  INNER JOIN services_users su ON su.id_user = users.id 
-  INNER JOIN services s ON s.id = su.id_service 
-  INNER JOIN services_fees f ON f.id = su.id_fee 
-WHERE s.id != 1 
- AND su.date >= s.start_date 
- AND su.id_user NOT IN 
- ( 
- SELECT id_user 
- FROM services_users sus 
- WHERE sus.id_service = 1 
- AND sus.date >= s.start_date 
- ) 
-ORDER BY users.nom ASC LIMIT 1000; 
-</code> 
- 
-  * liste des adhérents ayant versé une cotisation ou un don à l’association ; voir [[https://fossil.kd2.org/paheko/wiki?name=Requ%C3%AAte%20export%20adh%C3%A9rents%20payants|la doc paheko]] 
-<code sql> 
-SELECT 
-  su.date AS 'Date d''inscription', 
-  su.expiry_date AS 'Date d''expiration', 
-  SUM(tl.debit)/100 AS 'Montant réglé', 
-  expected_amount - SUM(tl.debit)/100 AS 'Reste à régler', 
-  users.*, 
-  users.id AS _user_id 
-FROM users 
-INNER JOIN ( 
-  SELECT MAX(expiry_date) AS expiry_date, 
-    date, id_user, id, expected_amount 
-  FROM services_users 
--- Modifier ici l'ID de l'activité 
-  WHERE id_service = 1 AND paid = 1 
-    AND (expiry_date >= date() OR expiry_date IS NULL) 
-  GROUP BY id_user) AS su 
-  ON su.id_user = users.id 
-LEFT JOIN acc_transactions_users tu 
-  ON tu.id_service_user = su.id 
-LEFT JOIN acc_transactions_lines tl 
-  ON tl.id_transaction = tu.id_transaction 
-GROUP BY users.id 
-</code> 
- 
-===== Compta ===== 
- 
-===== Dons ===== 
-  * Dons année (jce <lesanges@free.fr>) 
-<code sql> 
-SELECT 
- acc_transactions_users.id_user as 'Reçu', 
- users.id as 'idPers', 
- users.nom as 'Nom', 
- printf('%.2f', sum(acc_transactions_lines.credit)/100.) AS 'Montant', 
- users.adresse as 'Adresse', 
- users.code_postal as 'Code postal', 
- users.ville as 'Ville' 
-FROM 
- acc_transactions_users, 
- users, 
- acc_transactions 
- INNER JOIN acc_transactions_lines 
- ON acc_transactions_lines.id_transaction = acc_transactions.id 
-WHERE ( 
- strftime('%Y', acc_transactions.date) = :year 
- AND 
- acc_transactions_lines.credit > 0 
- AND 
- acc_transactions_users.id_transaction = acc_transactions.id 
- AND 
- acc_transactions_users.id_user = users.id 
- ) 
-GROUP by acc_transactions_users.id_user 
-ORDER by users.nom COLLATE NOCASE 
-</code> 
sql/start.1709753905.txt.gz · Dernière modification: 2024/03/06 20:38 de jce