sqlserver2008 r2 buildSql()方法错误

浏览:1476 发布日期:2016/11/22
5.0.0 - 严重 - 未处理
Db::table("CustomerTB")->where($canUseUsersCountWhere)
        ->field("count(*)")
        ->buildSql();
就是一个创建简单的统计数量sql
提示错误如下:
消息 8155,级别 16,状态 2,第 7 行
没有为 'thinkphp' 的列 1 指定任何列名称。
消息 8155,级别 16,状态 2,第 7 行
没有为 'T1' 的列 1 指定任何列名称。

我查看了一下生成的sql语句为( SELECT T1.* FROM (SELECT thinkphp.*, ROW_NUMBER() OVER ( ORDER BY rand()) AS ROW_NUMBER 
FROM (
    SELECT  count(*) FROM [CustomerTB] WHERE  ( [birthdayTime] >= '20161101' 
    AND [birthdayTime] <= '20161122' )  
    AND [AppointmentType] NOT IN ('号码错误','不在成都')
)
 AS thinkphp) AS T1      )
如果只运行中间的语句是没有问题的SELECT  count(*) FROM [CustomerTB] WHERE  ( [birthdayTime] >= '20161101' 
    AND [birthdayTime] <= '20161122' )  
    AND [AppointmentType] NOT IN ('号码错误','不在成都')
评论(
后面还有条评论,点击查看>>