|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : novembre 2006 Messages : 121 ![]() |
Bonjour,
J'ai une table qui utilise le modèle entité attribut valeur (la table postmeta de wordpress) qui stocke pour chacun de mes post (post_id), un nombre indéterminé de couple clé/valeur : ![]() Deux clés m'intéressent particulièrement : views et viewcount, donc je souhaiterais récupérer une liste des mes post_id avec pour chaque post_id la valeur de views et la valeur de viewcount : ![]() Je ne vois pas du tout comment faire, j'ai essayé avec un LEFT JOIN mais je bloque. En général quand on fait une jointure on utilise le nom d'un champ dans le ON : LEFT JOIN table2 ON table1.champ = table2.champ. Mais là c'est sur la valeur du champ meta_key qu'il faudrait faire la jointure, ça me dépasse complétement Pourriez-vous m'aider ? Télécharger la table postmeta Merci |
|
|
00
|
|
|
#2 | ||||
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Salut,
La petite difficulté vient du fait que, visiblement, views et viewcount ne sont pas systématiquement renseignés pour un post_id donné (au moins un des 2 est renseigné, mais pas nécessairement les 2, non ?). Ou au moins viewcount est-il toujours renseigné ? En partant du principe que non, essaie comme ça : Code :
Code :
ced
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
||||
|
|
00
|
|
|
#3 | ||
|
Membre à l'essai
![]() Inscription : novembre 2006 Messages : 121 ![]() |
Ok merci, je ne savais pas qu'on pouvait ajouter des AND après le ON.
Normalement views et viewcount sont tous les deux renseignés, mais ça n'est pas vrai pour tous les tuples, il y a quelques exceptions. Entre temps j'ai trouvé une autre solution avec des tables temporaires : Code :
|
||
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Ouh là, ça fait beaucoup de sous-requêtes et des performances qui risquent de se dégrader, une telle requête...
Sinon, il y a visiblement un problème de modélisation. Dans ta requête, tu fais une différence sur le champ meta_value qui, dans ta table, est de type LONGTEXT... Sinon, c'est ?ced
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com