Warunkowe wyświetlanie kolumn w T-SQL

Załóżmy, że mamy tabelę składającą się z 4 kolumn: FirstName, LastName, CompanyName oraz PersonType. Pole  PersonType przyjmuje ‘C’ gdy dany wiersz przedstawia firmę oraz ‘N’ gdy reprezentuje osobę fizyczną. Następnie chcemy wyświetlić w zależności od typu osoby nazwę firmy (C) lub imię+nazwisko(N). Zadanie można zrealizować za pomocą klauzuli case when:

select (case when PersonType='C' then CompanyName else FirstName+' '+LastName end) Name from Persons

Powyższy przykład miał tylko pokazać zastosowanie case when. W praktyce powyższa tabela nie jest zgodna z trzecią postacią normalną (3NF) i powinna zostać rozdzielona na dwie tabele (osoby fizyczne oraz firmy).

Leave a Reply

Your email address will not be published.