|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Invité de passage
![]() Inscription : mai 2011 Messages : 4 ![]() |
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 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 : Code :
J'ai essayé cette requête qui semble fonctionner : Code :
Code :
Code :
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 |
||||||||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
On est la encore sur des requetes utilisant le "PIVOT"
il y a quelques post sur ce sujet dans la semaine ![]() mais je trouve, mais peut etre ai-mal compris (ce qui m'arrive souvent) mais meme bien structure, cela ne changera pas le pb du PIVOT, j'ai cru entendre que cette possibilite existe en MySQL |
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Bonjour,
Vous pouvez le faire en effectuant une auto-jointure : Code SQL :
|
||
|
|
00
|
|
|
#4 | |
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
re
aieeeuuuuu en es-tu sur ? Citation:
Kailash ? |
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mai 2011 Messages : 4 ![]() |
En fait une post_id n'a qu'un seul domaine ou département possible.
Du coup ce n'est pas possible d'avoir plusieurs lignes domaine par id. Je sais que la structure de la base de données peut paraître un peu bizarre. En fait il faut comprendre que cette table contient tout un tas de meta_tag (sous la forme meta_key='tag' / meta_value='valeur_du_tag'). Mais chaque tag (qui peut etre le département, un numéro de dossier, le domain etc) sont uniques par projet. J'ai édité mon premier post j'avais fait une erreur qui a pu engendrer une confusion je m'excuse. depart est en fait etab_dep et domaine est domaine_du_projet. Merci. |
|
|
00
|
|
|
#6 | ||||
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
Code :
donc ce modele est impossible (avec plus de 2 pos_id), correct ? Code :
|
||||
|
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : mai 2011 Messages : 4 ![]() |
Code :
|
||
|
|
00
|
|
|
#8 | ||
![]() ![]() |
Messages aux intervenants réguliers : essayez de l'apprendre celle-là parce qu'elle revient très souvent et fréquemment vous ne proposez pas la meilleure solution !
Si l'auteur cherchait à construire un pivot sur douze valeurs (un par mois, structure fixe donc acceptable), vous feriez onze jointures externes ? J'en doute ! Il vaut mieux écrire la requête ainsi (un seul table scan, syntaxe normative multi SGBD) : Code :
__________________
Email : http://scr.im/waldar |
||
|
40
|
|
|
#9 |
|
Invité de passage
![]() Inscription : mai 2011 Messages : 4 ![]() |
Enorme merci beaucoup Waldar tu n'as pas idée au combien tu viens de simplifier mon programme et mes nuits par la même occasion. Merci encore !!!
|
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com