Bonjour à tous,
J'aurai voulu savoir si, lors d'une jointure avec LEFT JOIN, il est possible de remplacer les Valeurs NULL retournés par des champs vides. A votre avis ?
Merci beaucoup
Bonjour à tous,
J'aurai voulu savoir si, lors d'une jointure avec LEFT JOIN, il est possible de remplacer les Valeurs NULL retournés par des champs vides. A votre avis ?
Merci beaucoup
Si ce que tu appelles un champ vide est une chaîne vide, oui :
Code : Sélectionner tout - Visualiser dans une fenêtre à part COALESCE(colonne, '')
Merci pour ta réponse, mais je l'utilise où cette fonction, lors de ma requete de jointure ? Pourrais-tu me montrer un exemple s'il te plait ? Merci
bah tu peux l'utiliser où tu veux, mais si j'ai bien compris ce que tu veux, c'est dans ton SELECT.
Par ex, si j'ai une table Livres et une table Auteurs, que certains livres sont anonymes et que je vevx dans ce cas une chaîne vide plutôt qu'un NULL, ça donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT L.Titre, COALESCE(A.Auteur, '') FROM Livres L LEFT JOIN Auteurs A ON L.IDauteur = A.IDauteur
Très bien merci beaucoup une dernière petite question et je t'embête plus promis. Ca marche aussi sur plusieurs colonnes, exemple :
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT L.Titre, COALESCE(A.Auteur,A.Ville, etc, '') FROM Livres L LEFT JOIN Auteurs A ON L.IDauteur = A.IDauteur
Merci encore
COALESCE est une fonction ; elle te donne donc UN résultat mais pas plusieurs. Donc COALESCE(A.Auteur,A.Ville, etc, '') veut dire "l'auteur, s'il est NULL la ville, si elle est NULL aussi etc, si tout ça est NULL une chaîne vide.
Ce que tu veux, c'est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT L.Titre, COALESCE(A.Auteur, ''), COALESCE(A.Ville,'')
Partager