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不是跟表结构一模一样吗?
回复
1个回答

test
2024-07-02
无论 Sequelize 还是 TypeORM,对于复杂 SQL 都还比较弱鸡,跟 Java/C# 里的 ORM 差的还挺多的。
我建议你这种的就直接裸写 SQL 好了,如果参数来源不完全可信(有注入风险的),配合参数化就好了。
要是用的 TypeORM,用 QueryBuilder 也可以。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容