Requete SQL pour récupérer le 1er niveau de taxonomy

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Salut !

J'aimerais savoir comment écrire une requête SQL qui, pour un node et un numéro de vocabulaire donné me renverrai SEULEMENT le 1er niveau de taxonomie.

Un exemple :

France
Paris
1er arrondissement
2eme ...
Marseille

Espagne
Madrid
Barcelone

Mon node est le numéro 252 et le vocabulaire des pays > villes > arrondissements est le 6.
Je voudrais récupérer pour mon node 252 seulement le pays relatif à ce node dans ma requête et pas l'arborescence enfant qui va avec.

Une idée ?

Forum : 

SELECT td.tid, td.name FROM {term_hierarchy} th
INNER JOIN {term_node} tn USING (tid)
INNER JOIN {term_data} td USING (tid)
INNER JOIN {vocabulary} v ON v.vid = td.vid
WHERE tn.nid = 252
AND v.vid = 6
AND th.parent = 0

voila ça doit faire un peu ce que tu cherche. En gros ça va chercher l'id et le nom des taxo de ton noeud "252" faisant partie du vocabulaire "6" te vérifiant la condition
"parent = 0". Cette dernière instruction s'assure que la taxo ne possède pas de parent