我有这两个createQueryBuilder
,表结构相同但来源不同,我怎么可能像sql中的Union All
一样返回它?
代码:
async getActivityPostArticle() {
const query = this.repoActivityPost
.createQueryBuilder('activity')
.select('activity.*, article.*')
.innerJoin(
'activity_article',
'article',
'article.id::text = activity.post_id::text',
);
const query2 = this.repoActivityPost
.createQueryBuilder('activity')
.select('activity.*, newsfeed.*')
.innerJoin(
'activity_newsfeed',
'newsfeed',
'newsfeed.id::text = activity.post_id::text',
);
return query.getRawMany();
}
UNION没有内置方法,但您可以执行此
const result = await entityManager.query(`${ query.getQuery() } UNION ${ query2.getQuery() }`);