En fait je suis en train de me gratter la tête (et des cheveux, j'en ai plus guère) sur la requête suivante (sans curseur)

Soit une table qui regroupe les différentes lignes correspondant aux différentes réceptions. Je poste pas la description de la table, trop de champs (260.....).
Chaque ligne correspond à un article réception avec toutes les caractéristiques possibles et inimaginables prévues par l'éditeur.
J'en retiendrais deux !
> Code de l'article (ARTICLE)
> Date de la pièce réception (DATEPIECE)

Je souhaite calculer le nombre de réception d'un article donné par année.

Position du problème :
1. Un article peut avoir plusieurs livraisons durant l'année.
2. La réception d'un article peut se faire sur plusieurs jours, voire semaines (réception de palettes) et donc générer plusieurs pièces de réceptions (une par jour généralement), et donc plusieurs lignes de réception. Mais dans les faits, il s'agit bien de la même réception ! Il me font donc trouver un critère de regroupement pour ne comptabiliser qu'une seule réception pour ces différentes lignes.

3. Les utilisateurs ne sont pas rigoureux dans la saisie de la référence du bon de livraison du fournisseur. Je ne peux donc pas faire de regroupement sur ce champ.


Je pense que la seule méthode pour faire ce regroupement consiste à se baser uniquement sur la date de réception et se donner une règle de gestion : deux lignes de réception d'un même article qui sont espacées de plus de 15j sont considérées comme deux réceptions différentes. Dans le cas contraire, il s'agit d'une seule et même réception.

Exemple pour un même article :
Date Qté
Ligne 1 : 03/02/09 x2
Ligne 2 : 05/02/09 x3
Ligne 3 : 10/02/09 x10
Ligne 4 : 18/04/09 x7
Ligne 5 : 23/09/09 x4

Résultat --> 3 réceptions
Réception n°1 : Lignes 1, 2 et 3
Réception n°2 : Ligne 4
Réception n°3 : Ligne 5


Le blème, c'est que je n'arrive pas à trouver un critère de regroupement puisque la fourchette de date que je me fixe est variable d'une ligne à l'autre.
Si je fais des jointures pour éliminer les lignes "adjacentes" (celles qui sont dans la plage des 15j), j'élimine toutes ces lignes. Or il me faudrait en garder une par réception !

Je suis sous SQL server 2000 et ne bénéficie donc pas des CTE.

Merci d'avance pour vos idées.