当前位置: 首页 > 知识库问答 >
问题:

使用where时未知列总数

史钊
2023-03-14

我提出这个问题:

        $query = UserHistoryAccess::with('user')
        ->select('user_history_accesses.*', DB::raw('count(user_history_accesses.id) as total'))
        ->join('users', 'user_history_accesses.user_id', 'users.id')
        ->groupBy('user_history_accesses.user_id')
        ->where('total', 'like', '%' . $term . '%')
    ;

甚至我也遵循了这个解决方案,但我得到了这个错误:

Illumb\Database\QueryException:SQLSTATE[42S22]:未找到列:在where子句中1054未知列“总计”(SQL:select count(*)作为从user\u history\u access上的internal joinusersonuser\u id=usersidwheretotallike 88%)在文件C:\xampp\htdocs\HabilitisBack\vendor\laravel\framework\src\light\Database\Connection.php第671行的聚合


共有1个答案

班安平
2023-03-14

您不能在where中使用结果列,您应该在where中重新计算它以获得所需的结果,但请尝试使用“having”:

 ->having('total', 'like', '%' . $term . '%');
 类似资料:
  • 嗨,我试图使用Java在MySQL上更新一个表,但是我在“WHERE clause”中得到错误未知列“(value from wher_combo)”我试图使用设置值中的一个变量从一个列切换到另一个列(这是我决定这样做的主要原因),但是WHERE看起来像是将wher_combo值作为一个列读取,显然会导致一个错误,因为该列在表上不存在。

  • 错误:java.SQL.sqlsyntaxerrorexception:您的SQL语法中有一个错误;请查看与您的MariaDB服务器版本相对应的手册,以便在第1行'by name'附近使用正确的语法

  • 嗨,我试图使用Java在MySQL上更新一个表,但是我在“WHERE clause”中得到错误未知列“(value from wher_combo)”我试图使用设置值中的一个变量从一个列切换到另一个列(这是我决定这样做的主要原因),但是WHERE看起来像是将wher_combo值作为一个列读取,显然会导致一个错误,因为该列在表上不存在。

  • 问题内容: 我正在一个已经存在的cakephp 1.3项目中,我需要向数据库中添加一个新表。我的控制器中有这个: 这给了我这个错误: 这是它正在尝试创建的查询: 显然我的控制器代码是错误的,但是我不确定如何将Email表与ShootingPlacement关联起来。我认为我的模型是正确的。到目前为止,如果我有这个: 它将从Shooting,ShootingPlacement和Person中检索行,

  • 在多供应商网站上工作。当商店/供应商用户想登录时突然得到这个错误没有问题普通用户这里有两种类型用户一种是供应商或商店老板/另一种普通客户当供应商想登录时得到这个错误。但正常用户没有问题面临的登录。添加新列,但问题是继续SQL完整性错误。 这是登录控制器。 登录控制器的详细信息 路线 车间管理控制员 商店管理模式 **店铺模型** 错误

  • 问题内容: 我有一个名为表有三列:,,。 我正在尝试创建一个查询,该查询将根据昵称返回余额,并且在使用此查询时遇到错误: 有人可以在这里看到我做错了吗? 问题答案: 反引号(`)用于标识符,例如表名,列名等。单引号(’)用于字符串文字。 您想做: 或者,更明确地说: 如果没有歧义的可能性,并且表/列名称没有特殊字符或空格,则可以将`设置为off。 这是一些干燥且难以阅读的文档:http : //d