Je suis confronté à un problème lors de l'exécution de requêtes avec l'instruction CASE. En fonction de ma condition, (par exemple, la longueur), je veux exécuter une instruction SQL différente.Comment exécuter des instructions SELECT différentes en fonction d'un CAS
exemple de requête problématique est la suivante:
select case
when char_length('19480821') = 8
then select count(1) from Patient
when char_length('19480821')=10
then select count(1) from Doctor
end
Exception:
[Erreur] lignes de script: 1-5 --------------- -----------
Syntaxe incorrecte près du mot-clé 'select'.
Msg: 156, Niveau: 15, État: 2
Serveur: sunsrv4z7, Ligne: 2
Je ne suis pas en mesure de corriger la syntaxe. Je reçois la chaîne pour char_length en entrée de l'utilisateur. Comment puis-je déclencher des requêtes en fonction de certaines conditions? CASE est-il le bon choix? Ou dois-je utiliser autre chose.
vous pouvez déplacer les parenthèses d'ouverture dans la deuxième clause then un mot juste. – potatopeelings
encore il y a erreur de syntaxe parce que dans la ligne thrid alors est à l'intérieur de la tranche –
merci, fixé: o – VoodooChild