SQL Remplacer les Valeurs NULL avec Propre texte
J'ai besoin d'afficher les joueurs de clavier à partir d'une liste de groupes, et j'ai pu à l'aide de l'instruction SQL suivante:
SELECT BAND.NAME AS Band_Name, KBPLAYER.NAME AS Keyboard_Player
FROM BAND
FULL OUTER JOIN (
SELECT M.NAME, MO.BID
FROM MEMBEROF MO, MEMBER M
WHERE MO.INSTRUMENT='keyboards'
AND M.MID=MO.MID
) KBPLAYER
ON BAND.BID=KBPLAYER.BID
ORDER BY BAND.NAME, KBPLAYER.NAME
La requête ci-dessus affiche les noms de tous les membres du groupe et le joueur de clavier (le cas échéant) dans ce groupe, mais je tiens également à afficher "Pas de Joueurs de Clavier" pour les groupes qui ne disposent pas d'un joueur de clavier. Comment puis-je y parvenir? S'il vous plaît laissez-moi savoir si vous avez besoin de moi pour meubler avec des détails de la structure de la table.
Mise à jour: Veuillez noter que je ne suis pas en mesure d'utiliser l'un quelconque des SQL3 procedures
(COALESCE, CASE, IF..ELSE
). Il doit être strictement conforme à la norme SQL3.
Il suffit de cocher NVL, cela peut vous aider
Est-il en donnant la valeur NULL pour vous si il n'y a aucun joueur de clavier?
Il n'est pas en montrant NULL; juste un champ vide, indiquant qu'il est nul.
Donc, vous voulez remplacer le vide du champ de texte?
OriginalL'auteur Kuan E. | 2014-02-05
Vous devez vous connecter pour publier un commentaire.
Utiliser le fusionner fonction. Cette fonction retourne le premier de ses arguments qui ne sont pas null. Par exemple:
Vous n'êtes autorisé à utiliser une instruction de cas? Et s'il vous plaît mettre à jour votre question avec toutes les contraintes comme des fonctions que vous n'êtes pas autorisé à utiliser
Mis à jour. Veuillez consulter ci-dessus.
Merci de vous présenter à moi
COALESCE
, ce ne sera utile dans un autre de mes missions.OriginalL'auteur harmic
J'ai décidé de faire autrement, puisque je n'étais pas aller n'importe où avec le SQL ci-dessus. Je vais apprécier si quelqu'un a des suggestions à faire pour le SQL ci-dessus avec l'ensemble des contraintes.
OriginalL'auteur Kuan E.
Que par votre commentaire pour remplacer une chaîne vide à un texte, la solution la plus simple est d'utiliser l'instruction du cas, comme ci-dessous.
OriginalL'auteur Naveen
De l'essayer....
ISNULL est de vérifier si la valeur de la colonne est NULL, mais dans ce cas, il a une chaîne vide. Si la valeur Est null n'est pas d'aller travailler.
À cause de cela, j'ai ajouté les
NULLIF
voir la requête ci-dessusAh oui.. j'ai oublié, sa fin. 🙂
OriginalL'auteur tarzanbappa
Si NVL est autorisé, ci-dessous devrait fonctionner.
La question est balisé postgresql - NVL est non standard et non supportés par postgresql. fusionner en est l'équivalent.
OriginalL'auteur Ram Dwivedi