错误:SQLSTATE [42000]:语法错误或访问违规:1055 SELECT列表的表达式#3不在组中,并包含非聚集列'app.tasks.tasks.tasks.tasks.task_completed',它并不在功能上依赖于组中的列中的列,条款;这与sql_mode = hell
如果您使用的是SQL关键字作为表列名称,则可以在config/app.php中为数据库连接引用标识符。
SQL查询:
select
count(taskSemployees.task_id)为`count',
taskSemployees.employee_id as`雇用
tasks.task_completed为`task_completed`
从
tasks_employees任务员工
左加入任务任务(
tasks.task_completed =:C0和
tasks.id =(taskSemployees.task_id)
)
在哪里
年(TaskSemployees.Tarked)=:C1
组
taskSemployees.employee_id
如果要自定义此错误消息,请创建src/template/error/pdo_error.ctp
Error: SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'app.Tasks.task_completed' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
If you are using SQL keywords as table column names, you can enable identifier quoting for your database connection in config/app.php.
SQL Query:
SELECT
COUNT(TasksEmployees.task_id) AS `count`,
TasksEmployees.employee_id AS `employee_id`,
Tasks.task_completed AS `task_completed`
FROM
tasks_employees TasksEmployees
LEFT JOIN tasks Tasks ON (
Tasks.task_completed = :c0 AND
Tasks.id = (TasksEmployees.task_id)
)
WHERE
YEAR(TasksEmployees.created) = :c1
GROUP BY
TasksEmployees.employee_id
If you want to customize this error message, create src/Template/Error/pdo_error.ctp
发布评论
评论(1)
您有2个选择可以解决以下内容:
1-如果您具有SQL root访问和权限(可以来自PhpMyAdmin),因此请从 sql_mode var
单击编辑并删除该量。
2-在
中选择所有字段
子句子句:you have 2 options to resolve this:
1 - If you have sql root access and permissions (it could be from phpmyadmin), so remove
only_full_group_by
fromsql_mode
varClick in edit and remove that var.
2 - Include all fields selected in
SELECT
clause into theGROUP BY
clause: