Depuis l'introduction des doublons nommés et leur négation, SPIP offre la possibilité d'écrire le squelette intuitif suivant, censé afficher le dernier message posté dans une collection d'articles donnés (ici par une branche):

<pre>
<BOUCLE_Q(ARTICLES){branche}{doublons A} />
<BOUCLE_F(FORUMS){!doublons A}{!par date}{0,1}>
Dernier message: #DATE_HEURE
</BOUCLE_F>
</pre>

Or non seulement ça ne marche pas, mais en plus SPIP ne signale pas qu'on tente ici de comparer la clé primaire d'une table avec celle d'une autre, ce qui n'a pas de sens. 

Plutôt que de signaler l'erreur, on accepte un deuxième argument au critère doublon, donnant le nom de la deuxième table. Si sa clé primaire est le nom d'un champ de la première table, c'est gagné, sinon on signale (enfin) l'erreur. 

Avec ça, on répond au problème avec presque le même squelette que ci-dessus:

<pre>
<BOUCLE_Q(ARTICLES){branche}{doublons A} />
<BOUCLE_F(FORUMS){!doublons A,articles}{!par date}{0,1}>
Dernier message: #DATE_HEURE
</BOUCLE_F>
</pre>