[SQL] Requete

Requete [SQL] - Programmation

Marsh Posté le 14-12-2001 à 10:46:26    

salut g 2 tables
 
T_ATTRIBUT (obj_id, entite_id, nom)
T_ATT2DESC (code, id_attribut, id_desc)  
T_DESC (obj_id, description)
 
dans T_ATT2DESC id_attribut est une clé étrangère de T_ATTRIBUT et id_desc est la clé etrangère de T_DESC
 
 
je voudrais afficher tous les attributs ayant l'entite_id = 1 ainsi que la description des attributs (certains attributs n'ont pas de description donc ces attributs de sont pas référencé dans T_ATT2DESC)
 
 
select * from T_ATTRIBUT
where entite_id = 1    (sans l'affichage de la description)
 
 
SELECT t_attribut.obj_id, t_attribut.entite_id, t_attribut.nom,  t_desc.description  
FROM T_ATTRIBUT, T_ATT2DESC, T_FIC
WHERE T_ATTRIBUT.obj_id = T_ATT2DESC.id_attr
AND T_DESC.obj_id = T_ATT2DESC.id_desc
 
le pb de cette requete c kel n'affiche ke les attributs ayant une description et pas ceux ki n'ont pas de description
 
g pensé à un SELECT imbriqué mais je trouve pas la soluce
 
aidez moi siouplé ;)

Reply

Marsh Posté le 14-12-2001 à 10:46:26   

Reply

Marsh Posté le 14-12-2001 à 11:08:40    

Pourquoi tu transforme pas les tables T_ATTRIBUT et T_ATT2DESC en une seule table?

Reply

Marsh Posté le 14-12-2001 à 12:10:02    

Avec une jointure externe, ça marche pas ?
Je connais pas la syntaxe de son SGBD, mais en Oracle :
SELECT t_attribut.obj_id, t_attribut.entite_id, t_attribut.nom,  t_desc.description  
FROM T_ATTRIBUT, T_ATT2DESC, T_FIC  
WHERE T_ATTRIBUT.obj_id = T_ATT2DESC.id_attr(+)
AND T_DESC.obj_id = T_ATT2DESC.id_desc  
 
Et ça devrait le faire

Reply

Marsh Posté le 14-12-2001 à 13:18:02    

nop c bon g trouver
essayez la syntaxe LEFT OUTER JOIN c super pratique :D

Reply

Marsh Posté le 14-12-2001 à 13:26:21    

LOL, ce que t'as donnée Wons c la syntaxe de ton left outer join en oracle.
Ca s'appelle comme il l'a dit une jointure externe

Reply

Marsh Posté le 14-12-2001 à 15:05:58    

Sebastien a écrit a écrit :

LOL, ce que t'as donnée Wons c la syntaxe de ton left outer join en oracle.
Ca s'appelle comme il l'a dit une jointure externe



:lol: C'est pas grave :lol:

Reply

Marsh Posté le 14-12-2001 à 15:52:25    

Wons a écrit a écrit :

 
:lol: C'est pas grave :lol:  




 
 :ouch:  chui vrmt sorry  
y a eu un bug là pcq ton post je l'ai pas vu y avait pas celui là

Reply

Sujets relatifs:

Leave a Replay

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