nest.js如何写多表的查询呀?官网给的例子都是跟表一一对应的实例,满足不了需求。?

                SELECT AVG(sco_progress.raw_score) AS score_average
                FROM   sco_progress
                           INNER JOIN construct ON sco_progress.sco_id = construct.sco_id and sco_progress.course_id = construct.course_id
                           INNER JOIN sco_master ON sco_progress.sco_id = sco_master.sco_id
                WHERE  sco_progress.user_id = <cfqueryparam cfsqltype="cf_sql_integer" value="#user_id#" />
                AND    construct.course_id = <cfqueryparam cfsqltype="cf_sql_integer" value="#course_id#" />
                AND    sco_master.sco_type = 1
                AND       sco_progress.raw_score IS NOT NULL

比如我想做上面这样的查询。为什么不直接给一个js对象赋值就好了,还需要Entities呢?
Entities不是跟表结构一模一样吗?

image.png

阅读 2.2k
1 个回答

无论 Sequelize 还是 TypeORM,对于复杂 SQL 都还比较弱鸡,跟 Java/C# 里的 ORM 差的还挺多的。

我建议你这种的就直接裸写 SQL 好了,如果参数来源不完全可信(有注入风险的),配合参数化就好了。

要是用的 TypeORM,用 QueryBuilder 也可以。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题