最后随便加个表别名 t ,Oracle这能过,SQL这是语法错误

解决方案 »

  1.   

    少了一个表的别名,我改成了t,试试:select  count(*) 
    from 

    select * from T_PRODUCT 
    where 1=1  and classid =( '402881e43ef420ba013ef420bada0001')
    ) t
      

  2.   


    --加个别名就行了
    select  count(*) from ( select * from T_PRODUCT where 1=1  and classid='402881e43ef420ba013ef420bada0001') a
      

  3.   

    请查看classid是什么类型的啊?你后面赋的值有32个字符哦
      

  4.   

    检查classid字段有没有约束什么的,估计是存放的是 NEWID()的值(注意:是36位哦)C#中用Guid.NewGuid().ToString()
    Sql中用NEWID()
    以上方法生成的是36位的GUID,如果需要转换成32位,则需要替换掉其中的'-'字符。Sql中的方法:replace(newid(), '-', '')
      

  5.   

    在java里是String型的,select * from T_PRODUCT where 1=1  and classid =( '402881e43ef420ba013ef420bada0001') 这个sql可以运行
      

  6.   

    在java里是String型的,select * from T_PRODUCT where 1=1  and classid =( '402881e43ef420ba013ef420bada0001') 这个sql可以运行那直接改成这样能运行不:select count(*) from T_PRODUCT 
    where 1=1  and classid =( '402881e43ef420ba013ef420bada0001')