如果事务成功或使用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查询?
答案 0 :(得分:2)
就像使用您最初的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
使用large()OR()OR()结构也可以获得相同的结果,但这样更容易维护。