2012-06-13 32 views
1

我是新手,無法使用持久列中的公式語法。持久列中的嵌套邏輯公式

A - 我需要時(CustomerAccountID IS NULL和MissCustNameMatched = 0)OR errLicensingProgMissing = 1 OR errLicensingSubMissing = 1,則(1)否則(0)端

這將無法正確驗證情況。

乙 - 或者,我可以做它在某種程度上是這樣*

情況下

  • 當[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 
)