首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeORM SQL SubQuery

TypeORM SQL SubQuery
EN

Stack Overflow用户
提问于 2021-04-22 06:00:06
回答 1查看 497关注 0票数 2

我想检索一个维护列表,按ids区分并按日期排序。

基本上,我正在尝试转换这个SQL查询(在PostgreSQL下):

代码语言:javascript
复制
SELECT * FROM 
(
  SELECT DISTINCT m.id, * 
  FROM maintenances AS m 
  LEFT JOIN maintenance_items AS mi ON mi.maintenance_id = m.id 
  LEFT JOIN maintenance_types AS mt ON mi.type = mt.id 
  WHERE bike_id = '152cd134-c868-4a9e-ad49-691569f5786d'
) AS foo 
ORDER BY foo.m_date;

作为TypeORM查询。我试过这个:

代码语言:javascript
复制
DbConnection.manager
    .createQueryBuilder<Maintenance>(Maintenance, 'maintenances')
    .select('*')
    .from(qb => qb.subQuery()
      .select('*')
      .from(Maintenance, 'maintenances')
      .where('maintenances.bikeID = :id', { id: id })
      .leftJoinAndSelect('maintenances.items', 'maintenance_items')
      .leftJoinAndSelect('maintenance_items.type', 'maintenance_types')
      .distinctOn(['maintenances.id']), 'foo')
    .orderBy('foo.m_date', 'DESC')

我得到了这个错误:无法获取给定别名"foo“的实体元数据。找不到原因。

EN

回答 1

Stack Overflow用户

发布于 2021-07-06 13:24:40

您可以使用getrawOne()来检索数据。这不会显示错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67204028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档