2009-10-15 7 views
1

Mon exigence est d'afficher une colonne dans la requête de sélection lorsqu'un satisfait de l'état et de ne pas afficher la colonne lorsque la condition ne correspond pas.Ignorer une colonne lorsque la condition ne marche pas dans la requête select correspondance - SQL Oracle

Pour exemple: Dans ce tableau simple ci-dessous

Tableau: XYZ

Name ID Fairness 
------ -- -------- 
harish 3 White 
ravi 5 brown 
arun 2 black 
rahul 5 white 

Requête:

select name, 
     case id when 5 then " I Like to learn more languages" end as Remarks, 
     Fairness 
from xyz 
where id=2 

Mon exigence est dans la requête ci-dessus la colonne "Remarques" ne doit pas être affiché en sortie, mais ma sortie est

Sortie réelle:

Name Remarks Fairness 
---- ------- -------- 
arun null  black 

Résultats escomptés:

Name Fairness 
---- -------- 
arun black 

i.e., j'ai besoin colonne des remarques à afficher uniquement si l'identifiant est 5 dans la clause where.

S'il vous plaît me fournir une aide à ignorer « Remarques » lorsque la condition est satisfaite ou satisfait pas.

+0

Sous quelle condition voulez-vous appeler cette requête? –

Répondre

0

Peut-être que vous voulez que la fonction SQL COALESCE?

select coalesce(myMaybeNullColumn, '') from foo 

donnera des blancs au lieu de null.

0

Il suffit d'ajouter une condition d'autre à votre requête pour revenir en blanc pour ces cas, vous ne voulez pas montrer.

select name,case id when 5 then " I Like to learn more languages" else "" end as Remarks, Fairness from xyz where id=2 
+0

il a dit "i.e, j'ai besoin de la colonne de remarques à afficher seulement si l'id est 5 dans où clause" s'il ajoute "sinon" "" il verrait la colonne qui est vide –

+0

True, j'ai mal compris. mais alors sans une procédure stockée pour réaliser cela dans un select c'est juste impossible. Peut-être que je voudrais ajouter les remarques à une colonne existante plutôt que d'en créer une nouvelle (si cela remplit les conditions bien sûr). – pedromarce

+0

ouais complet acc, de l'autre côté je ne vois pas son problème, parce que si appelez cela sélectionner sur un prgrammcode, il pourrait vérifier le contenu de la deuxième colonne là. et en pl/sql ce n'est pas vraiment un problème –

Questions connexes