0

我是 SQL 新手,并尝试使用等效的 if 语句来获取 SQL 中的值。

运行此报告后,我收到错误“ORA-00936:缺少表达式”

 CASE WHEN (select Sum(MONTANT) from fraisExterne where matching=fm.id and statut=3) IS NULL 
   THEN select sum(MONTANT) from fraisExterne where matching=fm.id 
   ELSE Select sum (MONTANTHTBROKER) from fraismatching where matching=fm.id 
 End End as "BROKER AMOUNT"

请让我们知道您是否可以帮助我

4

1 回答 1

0

在你的案例陈述的末尾有一个额外END的关键词。您还需要将您的选择查询放入 ()。

尝试这个:

 SELECT
 CASE
    WHEN (select Sum(MONTANT) from fraisExterne where matching=fm.id and statut=3) IS NULL THEN (select sum(MONTANT) from fraisExterne where matching=fm.id) 
    ELSE (Select sum (MONTANTHTBROKER) from fraismatching where matching=fm.id) 
 End AS BROKER_AMOUNT

我希望这有助于并欢迎使用 StackOverflow。如果您发现此答案或任何其他答案可以解决您的问题,请将其标记为解决方案。这将有助于社区和未来遇到同样问题的程序员同行。谢谢。

于 2017-07-03T16:39:42.603 回答