我可以在oql的if语句中放置oracle语句

时间:2012-06-14 14:45:33

标签: sql

将oracle查询放在oracle if else语句中时出现问题

select workgroupid, maxchats, 
      case
        when a.maxchats ='-1' then 
  (select propvalue  from ofproperty where name = 'xmpp.live.defaults.maxchats') 
       else 
          null (1)
        end as aaaa
from fpworkgroup a;

当我将maxchats放在1位置时,我会得到错误,

我该如何解决这个问题??

帮帮我.. 提前谢谢

1 个答案:

答案 0 :(得分:2)

很难理解你的问题,但听起来你正试图用maxchats代替null (1)并且它会给你一个错误?

如果这是正确的,我猜测错误是fpworkgroup.maxchatsofproperty.propvalue具有不排列的不同列类型。 CASE的所有分支都必须返回相同的列类型。例如,您不能从一个分支返回int并从另一个分支返回varchar

你必须施放一个或另一个,以便它们返回相同的类型。