使用sqlsugar执行oracle的sql问题 返回

SqlSugar 老数据
2 6619
该叫什么 Smile 发布于2017/5/26
悬赏:5 飞吻

sql语句

SELECT sct52.scggdh,   

         sct52.scggxh,   

         sct52.schtbh,   

         sct52.xtwpks,   

         sct52.xtwpys,   

         sct52.xtxmdm,   

         sct52.schtsl,   

         nvl(sct52.scjgdj,0) sct52_scjgdj,   

         sct52.scjhrq,   

         sct51.sckhxm,   

         sct51.scyddh,   

         sct51.sckhdz,   

         sct51.scyspd,   

         xtm12.xtwpdm,

      xtm12.kcjldw,

      xtm12.wpxsdj,   

         SUM(case when kct03.kcczlx = '12' or kct03.kcczlx = '13' then kct03.kcczsl else 0 end ) kpsl,

         SUM(case when kct03.kcczlx like '0%' and kct03.kcckdm ='2045' then kct03.kcczsl else 0 end ) rksl,

         nvl((SELECT SUM(kct04.kczksl) from kct04 where kct04.kcckdm ='2045' and kct04.xtwpdm = xtm12.xtwpdm ),0) zksl,

         nvl((SELECT SUM(xst04.xstdsl) from xst03,xst04 where xst03.xsthdh = xst04.xsthdh and xst04.scggdh = sct52.scggdh and xst04.scggxh = sct52.scggxh and xst03.xstdzt <> 'T' ),0) dtsl

    FROM sct51,   

         sct52,   

      xtm12,

      kct03  

   WHERE ( sct51.scggdh = sct52.scggdh ) and  

         ( kct03.xtwpdm = xtm12.xtwpdm ) and  

      ( kct03.scggdh = sct52.scggdh ) and 

      ( kct03.scggxh = sct52.scggxh ) and 

         ( xtm12.wpmjbz = 'Y' ) and  

         ( ( sct51.xtwldm ='M633H005' ) AND  

         ( sct51.scdjzt = 'S' ) )   

group by sct52.scggdh,   

         sct52.scggxh,   

         sct52.schtbh,   

         sct52.xtwpks,   

         sct52.xtwpys,   

         sct52.xtxmdm,   

         sct52.schtsl,   

         sct52.scjgdj,

         sct52.scjhrq,   

         sct51.sckhxm,   

         sct51.scyddh,   

         sct51.sckhdz,   

         sct51.scyspd,   

         xtm12.xtwpdm,

      xtm12.kcjldw,

      xtm12.wpxsdj 

 HAVING sct52.schtsl > SUM(case when kct03.kcczlx = '12' or kct03.kcczlx = '13' then kct03.kcczsl else 0 end ) + 

        nvl((SELECT SUM(xst04.xstdsl) from xst03,xst04 where xst03.xsthdh = xst04.xsthdh and xst04.scggdh = sct52.scggdh and xst04.scggxh = sct52.scggxh and xst03.xstdzt <> 'T' ),0) 

UNION all

  SELECT sct52.scggdh,   

         sct52.scggxh,   

         sct52.schtbh,   

         sct52.xtwpks,   

         sct52.xtwpys,   

         sct52.xtxmdm,   

         sct52.schtsl,   

         nvl(sct52.scjgdj,0) sct52_scjgdj,   

         sct52.scjhrq,   

         sct51.sckhxm,   

         sct51.scyddh,   

         sct51.sckhdz,   

         sct51.scyspd,   

         xtm12.xtwpdm,

      xtm12.kcjldw,

      xtm12.wpxsdj,   

         0 kpsl,   

         0 rksl,

         nvl((SELECT SUM(kct04.kczksl) from kct04 where kct04.kcckdm ='2045' and kct04.xtwpdm = xtm12.xtwpdm ),0) zksl,

         nvl((SELECT SUM(xst04.xstdsl) from xst03,xst04 where xst03.xsthdh = xst04.xsthdh and xst04.scggdh = sct52.scggdh and xst04.scggxh = sct52.scggxh and xst03.xstdzt <> 'T' ),0) dtsl

    FROM sct51,   

         sct52,   

      xtm12

   WHERE ( sct51.scggdh = sct52.scggdh ) and  

         ( sct52.xtwpks = xtm12.xtwpks ) and  

         ( sct52.xtwpys = xtm12.xtpzgg ) and  

         ( sct52.xtxmdm = xtm12.xtwpxh ) and  

      ( 0 = ( SELECT COUNT(*) FROM kct03 where kct03.scggdh = sct52.scggdh and kct03.scggxh = sct52.scggxh ) ) and

         ( xtm12.wpmjbz = 'Y' ) and  

         ( ( sct51.xtwldm ='M633H005' ) AND  

         ( sct51.scdjzt = 'S' ) )   

group by sct52.scggdh,   

         sct52.scggxh,   

         sct52.schtbh,   

         sct52.xtwpks,   

         sct52.xtwpys,   

         sct52.xtxmdm,   

         sct52.schtsl,   

         sct52.scjgdj,

         sct52.scjhrq,   

         sct51.sckhxm,   

         sct51.scyddh,   

         sct51.sckhdz,   

         sct51.scyspd,   

         xtm12.xtwpdm,

      xtm12.kcjldw,

      xtm12.wpxsdj 

 HAVING sct52.schtsl > nvl((SELECT SUM(xst04.xstdsl) from xst03,xst04 where xst03.xsthdh = xst04.xsthdh and xst04.scggdh = sct52.scggdh and xst04.scggxh = sct52.scggxh and xst03.xstdzt <> 'T' ),0) 

UNION all

  SELECT sct52.scggdh,   

         sct52.scggxh,   

         sct52.schtbh,   

         sct52.xtwpks,   

         sct52.xtwpys,   

         sct52.xtxmdm,   

         sct52.schtsl,   

         nvl(sct52.scjgdj,0) sct52_scjgdj,   

         sct52.scjhrq,   

         sct51.sckhxm,   

         sct51.scyddh,   

         sct51.sckhdz,   

         sct51.scyspd,   

         xtm12.xtwpdm,

      xtm12.kcjldw,

      xtm12.wpxsdj,   

         0 kpsl,   

         0 rksl,

         nvl((SELECT SUM(kct04.kczksl) from kct04 where kct04.kcckdm ='2045' and kct04.xtwpdm = xtm12.xtwpdm ),0) zksl,

         nvl((SELECT SUM(xst04.xstdsl) from xst03,xst04 where xst03.xsthdh = xst04.xsthdh and xst04.scggdh = sct52.scggdh and xst04.scggxh = sct52.scggxh and xst03.xstdzt <> 'T' ),0) dtsl

    FROM sct51,   

         sct52,   

      xtm12,

      a_xtm11

   WHERE ( sct51.scggdh = sct52.scggdh ) and  

         ( sct52.xtwpks = xtm12.xtwpks ) and  

         ( sct52.xtwpys = xtm12.xtpzgg ) and  

         ( a_xtm11.xtxhlx = xtm12.xtxhlx ) and  

         ( a_xtm11.xtxhxh = xtm12.xtxmxh ) and  

         ( a_xtm11.xtdzbz = 'Y' ) and  

      ( 0 = ( SELECT COUNT(*) FROM kct03 where kct03.scggdh = sct52.scggdh and kct03.scggxh = sct52.scggxh ) ) and

      ( 0 = ( select count(*) from xtm12 a where ( sct52.xtwpks = a.xtwpks ) and  

                                   ( sct52.xtwpys = a.xtpzgg ) and  

                                   ( sct52.xtxmdm = a.xtwpxh ) and  

                                   ( a.wpmjbz = 'Y' ) ) ) and

         ( xtm12.wpmjbz = 'Y' ) and  

         ( ( sct51.xtwldm ='M633H005' ) AND  

         ( sct51.scdjzt = 'S' ) )   

group by sct52.scggdh,   

         sct52.scggxh,   

         sct52.schtbh,   

         sct52.xtwpks,   

         sct52.xtwpys,   

         sct52.xtxmdm,   

         sct52.schtsl,   

         sct52.scjgdj,

         sct52.scjhrq,   

         sct51.sckhxm,   

         sct51.scyddh,   

         sct51.sckhdz,   

         sct51.scyspd,   

         xtm12.xtwpdm,

      xtm12.kcjldw,

      xtm12.wpxsdj 

 HAVING sct52.schtsl > nvl((SELECT SUM(xst04.xstdsl) from xst03,xst04 where xst03.xsthdh = xst04.xsthdh and xst04.scggdh = sct52.scggdh and xst04.scggxh = sct52.scggxh and xst03.xstdzt <> 'T' ),0) 


注:此语句在oracle里面执行没有问题;
在用sqlsugar执行的时候报

'nvl' 不是可以识别的 内置函数名称。

“,”附近有语法错误。

“,”附近有语法错误。

“,”附近有语法错误。

'nvl' 不是可以识别的 内置函数名称。

“,”附近有语法错误。

“,”附近有语法错误。

“)”附近有语法错误。

“,”附近有语法错误。

'nvl' 不是可以识别的 内置函数名称。

“,”附近有语法错误。

“,”附近有语法错误。

“)”附近有语法错误。

“)”附近有语法错误。

“,”附近有语法错误。


    var list = db.Database.SqlQuery<PickUpGoods>(sql).ToList();

热忱回答2