我必须使用SQL查询来决定事务是成功还是失败。我有两个表,其中存储不同帐户的单位、值和日期。以下是我的条件:
if(unit != 0 and value == 0)
{
failed
}
if(unit == 0 and value != 0)
{
failed
}
if(date == NULL)
{
failed
}
我必须在另一个表中更新这个成功和失败。
这就是我如何试图实现上面的逻辑使用SQL:
select F.ACCOUNT_ID,F.FUND_ID,
CASE UNIT
WHEN 0 THEN 'FAILED',
CASE VALUE
WHEN 0 THEN 'FAILED'
END
ACCOUNT A right join FUND F
ON A.ACCOUNT_ID = F.ACCOUNT_ID
希望我解释得正确。我该如何为此编写一个T-SQL查询?
这就像使用你最初的c#代码一样简单:
CASE
WHEN Unit <> 0 AND value = 0 THEN 'Failed'
WHEN Unit = 0 AND value <> 0 THEN 'Failed'
WHEN date IS NULL THEN 'Failed'
ELSE 'Success'
END
您也可以使用大量的()OR () OR()结构来获得相同的结果,但这将更容易维护。