php - 如何将此查询转换为 SQL SERVER

标签 php mysql sql sql-server

SQLSTATE[42000]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Column 'ws_ticket.tkt_assunto' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

查询

SELECT COUNT(tkt.tkt_id) as messages, tkt.tkt_id, tkt.tkt_assunto, tkt.tkt_departamento, tkt.tkt_prioridade, tkt.tkt_content, tkt.tkt_data_create, tkt.tkt_data_close, tkt.tkt_status
FROM ws_ticket tkt LEFT JOIN
     ws_ticket_reply alls
     ON alls.tkt_id = tkt.tkt_id
WHERE tkt.tkt_status IN (1,2) AND tkt.user_id = :id
GROUP BY tkt.tkt_id
ORDER BY tkt.tkt_data_create DESC

最佳答案

只需在 group by 中包含所有非聚合列即可:

SELECT COUNT(tkt.tkt_id) as messages, tkt.tkt_id, tkt.tkt_assunto, 
       tkt.tkt_departamento, tkt.tkt_prioridade, tkt.tkt_content, 
       tkt.tkt_data_create, tkt.tkt_data_close, tkt.tkt_status
FROM ws_ticket tkt LEFT JOIN
     ws_ticket_reply alls
     ON alls.tkt_id = tkt.tkt_id
WHERE tkt.tkt_status IN (1,2) AND tkt.user_id = :id
GROUP BY tkt.tkt_id, tkt.tkt_assunto, 
         tkt.tkt_departamento, tkt.tkt_prioridade, tkt.tkt_content, 
         tkt.tkt_data_create, tkt.tkt_data_close, tkt.tkt_status
ORDER BY tkt.tkt_data_create DESC

关于php - 如何将此查询转换为 SQL SERVER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45601479/

相关文章:

php - 按最新条目分组并使用附加条件过滤掉

sql - 基于其他参数结果的 SSRS 灰显参数

php - 如何在官方 docker php 镜像上以非 root 用户身份运行 composer

php - 通过局域网IP地址连接websocket服务器

php - 在这种情况下如何使用 UNION (MySQL)

mysql - 查询 LIKE 字符串的 MySQL 字段

php - json_encode正在截断从mysql数据库读取的对象数据

asp.net - 在 ASP.NET 应用程序中使用 mySql 数据

sql - 将小数点添加到表中的数据

PHP - 从时间戳所在位置选择数据