[SQL] Une requete un peu tordue...

Une requete un peu tordue... [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 14-03-2004 à 14:29:36    

J'ai des éléments caractérisés par des IDs, qui sont liés entre eux... Ces Liens sont caractérisés par des commentaires , des notes...
 
En simplifiant (beaucoup) la structure de ma base de Donnée , j'ai les 3 tables suivantes:
 


!----------------------!   !----------------------!   !----------------------!
!        Elements      !   !         Liens        !   !      Infos_Liens     !
!----------------------!   !----------------------!   !----------------------!
!       Id_Element     !   !       Id_Lien        !   !        Id_Lien       !
!       Nom_Element    !   !       Id_Element     !   !       Commentaire    !
!        Infos_sup     !   !----------------------!   !----------------------!
!----------------------!
 
Putain, Quand est-ce ue joce va nous pondre une feature pour faire des tableaux...


 
Votre mission -Si vous l'acceptez- est de m'aider à faire une requète qui me sortir toutes  les infos suivantes...
Id_Lien, Commentaire, Id_Element en lien avec un Id_element donné....
 
Aujourd'hui j'avais dans l'idée de faire ca en plusieurs fois, à savoir:
Dans la table liens, faire un Select * where Id_Element=machin
Puis pour chacun des resultats faire un
Select * From Infos_Lien where Id_Lien="Id recupéré au paravant)
 
Puis revenir dans la Table Lien, en faisant pour chaque résulats de la requete précédente
Select Id_Element Where Id_Lien="Id recupéré au paravant" And Id_element =! machin
 
 
J'espère qu'il y a moyen de faire plus simple....
 
Pour ceux qui pesent que la structure de ma BDD est à chier , je suis ouvert à toute proposition, mais c'est la seule solution que j'ai trouvé jusqu'a present pour prendre en compte le fait qu'il peut y avoir plusieurs liens entre les deux mêmes éléments.
 
Merci d'avance pour votre aide...


Message édité par sorg le 14-03-2004 à 14:31:12
Reply

Marsh Posté le 14-03-2004 à 14:29:36   

Reply

Marsh Posté le 14-03-2004 à 15:15:44    

C'est mon explication qui est pas claire ou c'est vous qui etes aussi perplexe que moi ?

Reply

Marsh Posté le 14-03-2004 à 22:39:31    

g le même pb : si tu demandes du SQL trop complexe y'a plus personne...forum cherche SYSDBA de tt urgence ;)


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 14-03-2004 à 23:06:12    

Tous les éléments de "Infos_Liens" qui sont reliés (par l'intermédiaire de la table "Liens" ) à un Id_Element donné ?
 
Rien de plus simple :sol:  
 
SELECT Infos_Liens.Id_Lien, Infos_Liens.Commentaire
FROM Infos_Liens, Liens
WHERE Liens.Id_Element = "la valeur recherchée"
AND Liens.Id_Lien = Infos_Liens.Id_Lien

Reply

Marsh Posté le 15-03-2004 à 01:08:46    

Jubijub a écrit :

g le même pb : si tu demandes du SQL trop complexe y'a plus personne...forum cherche SYSDBA de tt urgence ;)


 
Oui, on est pas 24h/24 sur le forum sgbd non plus hein :D
 

Code :
  1. select liens.id_lien, liens.id_element, infos_liens.commentaire from liens
  2. inner join infos_liens on infos_liens.id_liens = liens.id_lien
  3. inner join elements on elements.id_element = liens.id_element
  4. where liens.id_element = valeur_comparative;


 
Avec le deuxième inner join qui sert à rien si tu ne dois pas faire de liaisons avec la table Elements

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed