Je travaille depuis quelques jours sur la façon d'accomplir ce qui suit: J'ai une table qui a des adresses alternatives, mais j'ai seulement besoin de tirer la ville. Cependant, la ville peut être dans field5, field4 ou field3. Qu'est-ce que je voudrais faire, et ont échoué lamentablement, est de peupler un autre champ appelé ville avec la valeur trouvée en évaluant les trois champs pour <> NULL.SQL Server 2008R2: évaluation des instructions de cas à trois colonnes ou fusion?
C'est ce que j'ai pour l'instant, bien que je ne reçoive aucune erreur, la seule valeur qui apparaisse est field4, puisque field5 est null ou ''. Mais si field4 est également nul, le champ city est vide. Pour une raison quelconque, ma requête ne regarde pas field3 et s'il y a une valeur, la valeur ne sera pas renseignée. Aidez-moi, s'il vous plaît!
Ceci est la 1ère tentative: cas où altcity = 'Y' et (field5 est nulle ou field5 = ' ') alors field4 autre cas où altcity =' Y' et (field4 est nulle ou field4 = » ') then field3 else field5 fin fin comme ville < - Champ5 ou Champ4 apparaît comme il se doit, mais si les deux champs sont NULL, le champ est vide. On dirait que la requête ne regarde pas field3.
Voici la deuxième tentative:
case when altcity='y' then coalesce(field5,field4,field3) end as city
Même chose ici, la valeur field5 ou field4 est peuplée, mais la valeur de field3 ne fonctionne pas.
Merci beaucoup pour votre aide!
Merci @Matt pour la réponse rapide! J'ai couru la suggestion contre mes données et le seul champ qui tire maintenant est field5 et pas n'importe lequel des autres quand field5 est nul. D'autres suggestions? –
Est-ce que field5 est réellement nul ou est-il juste vide (chaîne vide)? – Matt
Field5 peut être à la fois nul ou vide. –