gpt4 book ai didi

mysql - 通过自动执行内连接进行排序

转载 作者:行者123 更新时间:2023-11-29 10:28:59 28 4
gpt4 key购买 nike

我希望使用 hql 的查询返回按某些列排序的一些值。

问题是当我order by时它会自动执行内部连接。示例:

表 Usuario 具有列 idAssociado:

select u.nome 
from Usuario u
order by u.associado desc,
u.associado.suspended asc,
u.associado.dateOut asc

即使列 associado(id) 为空,我也想返回 Usuario 的所有记录,但首先返回不为空的记录,然后按暂停和 dateOut 排序。

当我按暂停和 dateOut 排序时,它会执行内部联接并仅返回 Usuarios 其中 u.associado 不为 null

如何执行此 hql 并获得预期结果?

谢谢

最佳答案

HQL 如果类中的属性位于 POJO 对象中,则会执行 INNER JOIN 操作。

在您的 Usuario 类中,您可能有一个类型为 Associado 的属性 associado

因此,当您指向关联对象 HQL 的封装属性时,应用 INNER JOIN。

如果你想要当associado为空时所有usuario对象,为什么你要根据associado中封装信息的信息来排序?

对我来说,您的查询将变成:

select u.nome 
from Usuario u
where u.associado is null

关于mysql - 通过自动执行内连接进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47782579/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com