Chargement en cours
Complément à [11901]: la suppression de la table principale dans la requête...
Complément à [11901]: la suppression de la table principale dans la requête lorsque celle-ci ne concerne en fait que la jointutre s'étend au cas de plusieurs jointures et non plus une seule.
Application: trouver dans une hiérarchie la rubrique ayant un mot clé d'un certain groupe:
{{{
<BOUCLE2(HIERARCHIE)
{id_rubrique}
{tout}
{type='Squelette'}
{inverse}
{0,1}
{lang_select=non}
}}}
se compile en
{{{
SELECT L1.id_rubrique
FROM spip_mots_rubriques AS L1
INNER JOIN spip_mots AS L2 ON (L2.id_mot = L1.id_mot)
WHERE (L2.type = 'Squelette')
AND (L1.id_rubrique IN (329,589,645))
GROUP BY L1.id_rubrique
ORDER BY FIELD(L1.id_rubrique, 329,589,645) DESC
LIMIT 0,1
}}}
et non plus en
{{{
SELECT rubriques.id_rubrique
FROM spip_rubriques AS `rubriques`
INNER JOIN spip_mots_rubriques AS L1 ON (L1.id_rubrique = rubriques.id_rubrique)
INNER JOIN spip_mots AS L2 ON (L2.id_mot = L1.id_mot)
WHERE (L2.type = 'Squelette')
AND (rubriques.id_rubrique IN (329,589,645))
GROUP BY rubriques.id_rubrique
ORDER BY FIELD(rubriques.id_rubrique, 329,589,645) DESC
LIMIT 0,1
}}}
Il faut le critère {{{ {lang_select=non} }}} autrement le champ lang est mis d'office et empêche la disparition. Il faudrait voir si cette mise d'office e pourrait pas être évitée.