[RESOLU] jointures et clause where

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] jointures et clause where

Re: jointures et clause where

par nico63800 » 23 déc. 2013, 15:31

YES YES YES
excellent çà marche
merci :D :D

Re: jointures et clause where

par Mazarini » 23 déc. 2013, 15:23

Peut être :
SELECT ag.nom, ag.prenom, inf.info    
FROM agents AS ag     
LEFT JOIN   infos AS inf     
ON ag.id = inf.agent_id  and inf.type_info = 'type2'
Mais je ne peux pas tester. j'ai juste remplacé where par and.

Re: jointures et clause where

par nico63800 » 23 déc. 2013, 15:15

j'ai essayé ca marche pas, ca me renvoies çà:

nom2 prenom2 info DEUX agent 2
nom1 prenom1 info agent 1
nom2 prenom2 info UNE agent 2
nom3 prenom3 NULL
nom4 prenom4 NULL
nom5 prenom5 NULL
nom6 prenom6 NULL

merci pour ta réponse
je continue à chercher :-k

Re: jointures et clause where

par yann18 » 23 déc. 2013, 14:08

bonjour,

essaies de faire une union :
(SELECT ag.nom, ag.prenom, inf.info      FROM agents AS ag     LEFT JOIN   infos AS inf     ON ag.id = inf.agent_id   WHERE inf.type_info = 'type2')
UNION
(SELECT ag.nom, ag.prenom, inf.info      FROM agents AS ag     LEFT JOIN   infos AS inf     ON ag.id = inf.agent_id   )

jointures et clause where

par nico63800 » 23 déc. 2013, 12:56

Bonjour à tous
j'aurais besoin d'un petit coup de main sur les jointures, il y a une requête que je n'arrive pas à écrire
soit une table agents et une table infos
Image

si je souhaites avoir le champ info pour chaque agent (même ceux qui n'ont pas d'info) la requête suivante fonctionne:
SELECT ag.nom, ag.prenom, inf.info      FROM agents AS ag     LEFT JOIN   infos AS inf     ON ag.id = inf.agent_id
Image

Mon problème, c'est que je voudrais la même chose mais avec le critere type_info='type2'
Ma requete ne marche pas, elle est surement mal construite (j'ai juste rajouté un WHERE)
SELECT ag.nom, ag.prenom, inf.info      FROM agents AS ag     LEFT JOIN   infos AS inf     ON ag.id = inf.agent_id   WHERE inf.type_info = 'type2'
elle me renvoie une seule ligne:
nom2 || prenom2 || info DEUX agent 2

et moi ce que je voudrais c'est çà:
nom1 || prenom1 || NULL
nom2 || prenom2 || info DEUX agent 2
nom3 || prenom3 || NULL
nom4 || prenom4 || NULL
nom5 || prenom5 || NULL
nom6 || prenom6 || NULL

C'est surement ma clause WHERE qui est pas au bon endroit
ou alors ma jointure qui n'est pas bonne
j'ai tourné çà dans tous les sens je bloque ....
je dois être étanche à la logique des JOIN.....
help :?