我的目标是从USER表中选择用户,其中userId = user_id_creator(谁创建了用户,一些用户可以根据用户角色创建其他用户)我需要将此PostgreSQL SQL查询转换为TypeOrm查询构建器
select DISTINCT ON (u1.id) *
from public.user as u1
inner join public.user as u2
on u1.id = u2.created_by
字符串
我在Postgres中执行了它,它工作得很好,我得到了一个创建其他用户的用户列表。但是当我像这样在TypeOrm中转换它时:
const rawData = AppDataSource.manager.query(`
select DISTINCT ON (u1.id) *
from public.user as u1
right join public.user as u2
on u1.id = u2.created_by
`)
型
它给了我另一个结果,它选择了创建的用户列表而不是创建者。谢谢
1条答案
按热度按时间bvuwiixz1#
我想我找到了解决方案。实际上,查询在TypeOrm上不起作用,因为我没有指定要选择哪些列,在自连接表时选择所有列,总是从右边给我列,所以我的解决方案是以这种方式指定要选择哪些列:
字符串