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/