Bonjour a tous,
Premier post pour moi ici, j'espère formaliser les choses de façon claires .
Je suis un développeur et cela fait un bon moment que je n'ai pas eu a travailler avec une base de donnée relationnelle.
En l’occurrence je travaille sur un projet en java qui interagit avec une base de donnée mysql centralisant les projets d'une région. Les projets sont postés par l'intermédiaire d'un blog chaque projet ayant une id unique.
La structure de la table qui m’intéresse est la suivante :
- meta_id bigint(20)
- post_id bigint(20)
- meta_key varchar(255)
- meta_value longtext
meta_id est une clé primaire qui ne m’intéresse pas pour la requête, post_id permet de rattacher un ensemble de couple (meta_key, meta_value) a un projet unique, et la liste des meta_key / meta_value permet de stocket pour chaque projet un ensemble de critères comme le département ou bien la catégorie dans laquelle le projet a été posté.
Un exemple d'enregistrement peut donc être :
Et j'aimerais pour chaque id récupérer en une seule requete le département et le domaine.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 post_id meta_key meta_value ---------------------------------------------------- 1 etab_dep 75 1 domaine_du_projet Multimedia 1 ... ... 1 etc etc
J'ai essayé cette requête qui semble fonctionner :
Le résultat étant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT post_id,meta_value FROM `wp_postmeta` WHERE post_id=1 AND meta_key IN('etab_dep', 'domaine_du_projet' )
Et j'aimerais avoir un résultat du type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 post_id meta_value ------------------------- 1 Multimedia 1 75
Est-ce possible ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 post_id meta_value meta_value ------------------------------------------ 1 Multimedia 75
Cela-a-il un impact sur les performances ?
Ne devrais pas plutot laisser ma requête telle quelle et laisser mon programmer récupérer les bonnes valeurs dans les bonnes variables ?
Merci de votre aide,
K
Partager