Table(Id int,Title varchar(250), WebCountryId int, CountryId int)
웹 국가 ID 1000와 같은 샘플 일이 영국과 CountryId = 5와 같이 다른 열
와 함께 두 개의 국가 ID를 보유하고 테이블은 영국을위한 한
. (또한 countryid = 1은 영국으로 간주되는 알 수없는 것임). (두 countryids 자신의 국가 목록을 가지고 두 개의 서로 다른 데이터베이스에서 구동됩니다) 나는이 테이블을 사용하는보기가 있고 행이 영국인지 여부를 결정하기 위해 필드를 만들려고합니다.
이것은 내가 지금 무슨이지만,이 비트 Gona을은보기
SELECT CountryId,WebCountryId,
(CASE WHEN (T.WebCountryId IS NULL AND T.CountryId IS NULL) THEN 1
WHEN (T.WebCountryId IS NOT NULL AND T.WebCountryId <> 1000) THEN 0
WHEN (T.CountryId IS NOT NULL AND Enquiry.CountryId NOT in(1,5)) THEN 0
WHEN (T.WebCountryId IS NULL AND T.CountryId in(2,5)) THEN 1 END)as Uk
FROM Table T
case
를 사용하지 않고이를 달성하기 위해 다른 방법이 있나요 사용할 수?
이것은 NULL을 묵시적인 값으로 지정해서는 안되는 이유입니다. 모든 옵션에 값을 지정하고 null을 처리하지 않기 때문입니다. –
@TMcKeown : 이것은 몸이 NULL을 허용하는 이유를 알지 못하는 아주 오래된 데이터베이스에서 작업 할 때 내가 발견 한 것입니다. –