93 votes

Sélectionner une colonne si l’autre colonne est null

Je dois sélectionner un champ appelé ProgramID dans une table et si le ProgramID est NULL, je dois sélectionner la valeur dans InterimProgramID à partir de la même table et l’alias en tant que ProgramID.

Comment puis-je créer une instruction SELECT conditionnelle pour ce faire ?

146voto

Peter Aron Zentai Points 3760

Vous avez besoin de la fonction ISNULL.

est sélectionné si est null.

En outre, vous pouvez utiliser l’option de sélection QUAND / PUIS, rechercher dans BOL. Essentiellement: son bloc commutateur / cas c répond à SQL.

48voto

Blam Points 17325
  select COALESCE ( ProgramID , InterimProgramID ) as 'ProgramID' 

1voto

onedaywhen Points 24594
SELECT ProgramID
  FROM a_table
 WHERE ProgramID IS NOT NULL
UNION
SELECT InterimProgramID AS ProgramID
  FROM a_table
 WHERE ProgramID IS NULL;

0voto

user220934 Points 1

Coalesce('zzz-' + ProgramID, InterimID) en tant que programID ignorera toujours ProgramID même si vous avez une valeur de prétexte. C’est une petite fonction cool

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X