problème jointure externe.

problème jointure externe. - SQL/NoSQL - Programmation

Marsh Posté le 27-12-2006 à 22:50:19    

Bonsoir,
 
je cherche à faire une requete concernant trois tables. Cette requete SQL se compose d'une jointure externe mais, je voudrais également y ajouter une jointure interne.
 
comment faire ?
 
voici ma requete avec ma jointure externe qui fonctionne:

Code :
  1. SELECT `crea_id`,`crea_nom`,`crea_comment`,`fil_nom`,`fil_type`
  2. FROM `creations`
  3. LEFT JOIN `files`
  4. ON `fil_crea` = `crea_id` ;


 
maintenant, la chose que je voudrais faire est rajouter à cela la contrainte du champ 'ext_type' qui est dans une table 'types' et ma jointure serait:
'fil_type'='id_type';
 
j'espere que sa sera suffisament clair ??!! merci de votre aide d'avance ;)

Reply

Marsh Posté le 27-12-2006 à 22:50:19   

Reply

Marsh Posté le 28-12-2006 à 07:59:45    

sincèrement, si tu veux récupérer les données de la troisième table, tu es obligé de faire deux jointures externes car pour la dernière, il ne retournera quand même que les ligne ayant une référence dans la 3e table alors que la première jointure à complété par null cette référence dans les colonnes de la deuxième table. Donc soit tu fais deux jointures externes, soit deux internes. si tu combines, tu n'arriveras à rien.

Reply

Marsh Posté le 28-12-2006 à 11:34:43    

et comment cela est-il possible au niveau de la syntaxe ?  
 
faire-il créer deux requettes ou bien cela est possible en une seule requette ?
 
merci de vos indications !

Reply

Marsh Posté le 03-01-2007 à 10:51:17    

je pige pas ce que tu veux faire...
 
je dirais à vue de nez, parceque j'ai rien compris :


SELECT c.crea_id, c.crea_nom, c.crea_comment, f.fil_nom, f.fil_type, t.ext_type
FROM creations c
LEFT JOIN files f ON f.fil_crea = c.crea_id
LEFT JOIN types t ON t.id_type = f.til_type;

Reply

Sujets relatifs:

Leave a Replay

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