我怀疑这是错误生成的 SQL:尝试
SELECT Cliente.Codigo AS Codigo, Cliente.Nome, Contato.Nome AS Contato, Grupo.Nome AS Grupo
FROM Cliente
JOIN Grupo ON ( Grupo.codigo = Cliente.Codigo_Grupo )
JOIN Contato ON ( Contato.Codigo_Cliente = Cliente.Codigo )
GROUP BY Cliente.Codigo
ORDER BY `Grupo` ASC
LIMIT 0,30
在评论中讨论之后,事实证明,框架中的一个潜在错误是罪魁祸首: - 没有别名Grupo.Nome
会阻塞Nome
部分 - 使用别名Grupo.Name
会阻塞别名
有一个非常非常肮脏的方法 - 但请注意,这是一种解决方法(充其量),而不是解决方案
这样做一次:
CREATE VIEW GrupoWorkaround SELECT Grupo.*,Grupo.Nome AS Grupo FROM Grupo
这将创建一个平行视图。
没有将您的查询更改为
SELECT Cliente.Codigo AS Codigo, Cliente.Nome, Contato.Nome AS Contato, GrupoWorkaround.Grupo
FROM Cliente
JOIN GrupoWorkaround ON ( GrupoWorkaround.codigo = Cliente.Codigo_Grupo )
JOIN Contato ON ( Contato.Codigo_Cliente = Cliente.Codigo )
GROUP BY Cliente.Codigo
ORDER BY `Grupo` ASC
LIMIT 0,30
实际上Grupo
替换GrupoWorkaround
并因此消除了对别名的需要。