-- Quels clients ont acheté un produit dans tel interval de temps
\set nproduits 100000                                                       
\set produit_id random(1, :nproduits)
\set ndays 4500
\set days random(1, :ndays)
\set delay random(2, 45)

SELECT co.nom FROM magasin.contacts co
JOIN magasin.clients cl ON (co.contact_id=cl.contact_id)
JOIN magasin.commandes c ON (c.client_id = cl.client_id)
JOIN magasin.lignes_commandes lc ON (c.numero_commande = lc.numero_commande)
JOIN magasin.produits p ON (lc.produit_id = p.produit_id)
WHERE p.produit_id = :produit_id
AND c.date_commande BETWEEN (date '2002-11-26' +interval '1 day'*:days)
                        AND (date '2002-11-27' + (interval '1 day'*:days + interval '1 day'*:delay));
