fragzepika Posté(e) le 22 mars 2017 Partager Posté(e) le 22 mars 2017 @djey37 comme l'as dit Cadegenere, il n'y a pas de PK dans Yrefs et YrefDoc est une FK vers Doc.DocId. De plus, VariableId n'est pas une PK dans VariableValue, car tu peux avoir plusieurs fois la même variable pour des documents différents (donc des DocId différents).@jon152 as tu regardé ma réponse plus haut ? Il y a 16 heures, fragzepika a dit : Putain ... tu as raison, j'ai une jointure en trop. Ca ne sert à rien de joindre à Doc pour les docuemernts enfants, on a besoin que de leurs Id déjà données par la colonne YrefDoc dans Yref. Ca donnerait donc ça (en ajoutant la contrainte sur l'id de la variable) : select var_c.* from YrefDoc y left join VariableValue var_c on var_c.docId = y.YrefDoc where y.DocId in ( select doc_p.docId from Doc doc_p where doc_p.filename = <nom du filename> ) and var_c.variableId = <id de la variable> à l’instant, djey37 a dit : J'ai rajouté le yrefsid parce qu'il n'y a pas d'identifiant sur cette table dans l'énoncé de @jon152 ce qui me parait aberrant. Pour une table de jointure (n,n), j'en ai souvent vu sans colonne de PK spécifique. La PK était une clé composée des 2 colonnes (même en modélisant depuis un modèle objet avec hibernate). Lien vers le commentaire Partager sur d’autres sites More sharing options...
cadegenere Posté(e) le 22 mars 2017 Partager Posté(e) le 22 mars 2017 il y a 2 minutes, djey37 a dit : J'ai rajouté le yrefsid parce qu'il n'y a pas d'identifiant sur cette table dans l'énoncé de @jon152 ce qui me parait aberrant. Tu peux avoir une clé composée entre DocID et YrefDocs, normalement ce couple est unique. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chocobidou Posté(e) le 22 mars 2017 Partager Posté(e) le 22 mars 2017 il y a 1 minute, fragzepika a dit : @djey37 comme l'as dit Cadegenere, il n'y a pas de PK dans Yrefs et YrefDoc est une FK vers Doc.DocId. De plus, VariableId n'est pas une PK dans VariableValue, car tu peux avoir plusieurs fois la même variable pour des documents différents (donc des DocId différents).@jon152 as tu regardé ma réponse plus haut ? Donc il y a bien un problème de modélisation de bdd. Je pense qu'il serait intéressant d'avoir un texte fonctionnel pour modéliser correctement le besoin (partir sur un schéma propre est quasiment obligatoire pour assurer la pérennité de l'appli). à partir de ça, on pourra répondre au besoin. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.