[MYSQL] Problème jointure champs vide
Résolu
riven
-
riven -
riven -
Bonjour,
Je vous explique mon soucis :
Je fais une requete avec une jointure
table personne(id_pers,nom_pers,id_serv)
table service(id_serv,nom_serv)
Quand je selectionne toutes les personnes avec le nom du service :
SELECT * FROM personne p,service s WHERE s.id_serv=p.id_serv
La requete est executé correctement (pas d'erreur) mais aucun resultat.
Le problème étant le fait que une personne n'appartient pas forcement à un service !
Comment obtenir la liste complète des personnes ?
Merci
Cordialement.
Je vous explique mon soucis :
Je fais une requete avec une jointure
table personne(id_pers,nom_pers,id_serv)
table service(id_serv,nom_serv)
Quand je selectionne toutes les personnes avec le nom du service :
SELECT * FROM personne p,service s WHERE s.id_serv=p.id_serv
La requete est executé correctement (pas d'erreur) mais aucun resultat.
Le problème étant le fait que une personne n'appartient pas forcement à un service !
Comment obtenir la liste complète des personnes ?
Merci
Cordialement.
A voir également:
- [MYSQL] Problème jointure champs vide
- Supprimer page word vide - Guide
- Caractere vide - Guide
- Coeur vide ✓ - Forum Réseaux sociaux
- Code pour écrire un coeur VIDE : alt+??? ✓ - Forum Mail
- Formate pour taxer client frigo vide ✓ - Forum Matériel & Système
4 réponses
Salut,
Tu as besoin de ce que l'on appelle un outer join. Doc dispo ici: http://dev.mysql.com/doc/refman/5.0/fr/join.html
++
Tu as besoin de ce que l'on appelle un outer join. Doc dispo ici: http://dev.mysql.com/doc/refman/5.0/fr/join.html
++
Bonjour,
Tu fais une sous requete
SELECT *
FROM personne
WHERE id_serv in (SELECT id_serv from service) mais tu risque d'avoir des doublons
Tu fais une sous requete
SELECT *
FROM personne
WHERE id_serv in (SELECT id_serv from service) mais tu risque d'avoir des doublons
Je me suis trompé j'avais des résultats : juste les personnes qui sont affecté à un service or il me les fallait toutes.
Donc CapitainCo j'ai testé ta requete elle me donne le même resultat que celle que j'ai donné. (SELECT * FROM personne p,service s WHERE s.id_serv=p.id_serv )
Merci Sandul j'ai lu la doc trafiqué un peu la requete et ca à marché voici la requete qui fonctionne pour ceux qui aurait le même problème.
"SELECT * FROM personne
LEFT JOIN service ON personne.id_serv=service.id_serv"
Nicos2101 "bonjour, il faut mettre des crochet." << Euh oui je veux bien mais je les mets où ? J'attends ta réponse ça m'interresse tout de même.
Merci en tout cas de m'avoir aidé !
Donc CapitainCo j'ai testé ta requete elle me donne le même resultat que celle que j'ai donné. (SELECT * FROM personne p,service s WHERE s.id_serv=p.id_serv )
Merci Sandul j'ai lu la doc trafiqué un peu la requete et ca à marché voici la requete qui fonctionne pour ceux qui aurait le même problème.
"SELECT * FROM personne
LEFT JOIN service ON personne.id_serv=service.id_serv"
Nicos2101 "bonjour, il faut mettre des crochet." << Euh oui je veux bien mais je les mets où ? J'attends ta réponse ça m'interresse tout de même.
Merci en tout cas de m'avoir aidé !