Вложенная логика в формуле постоянных столбцов

Я новичок и имею проблемы с синтаксисом формул в постоянных столбцах.

A - Мне нужен случай, когда (CustomerAccountID IS NULL и MissCustNameMatched=0) ИЛИ errLicensingProgMissing=1 ИЛИ errLicensingSubMissing=1 then (1) else (0) end

Это не будет подтверждено правильно.

Б - Или я могу сделать это как-то так *

дело

  • когда [MissCustName] истинно
    • когда [CustomerAccountName] равно NULL, тогда
      • (1)
    • еще
      • (0)
    • конец
  • еще
    • (0)
  • конец*

1 ответ

Решение

Ваши два случая не совпадают с именами столбцов, но после объявления сохраненного поля показано, как это можно сделать с помощью CASE заявление.

CREATE TABLE dbo.Test (
  CustomerAccountID INTEGER
  , MissCustNameMatched INTEGER
  , errLicensingProgMissing INTEGER
  , errLicensingSubMissing INTEGER
  , persistedField AS 
      CASE MissCustNameMatched WHEN 1 
      THEN 
        CASE CustomerAccountID WHEN 1 
        THEN 1 
        ELSE 0 
        END 
      ELSE 0 
      END PERSISTED
)  
Другие вопросы по тегам