You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将两个带条件的StudentOrders表更新查询合并为一个?

合并两个更新查询为单个查询方案

你可以利用SQL的CASE条件表达式,在TypeORM的QueryBuilder里实现一次更新完成两种状态的设置,代码如下:

await getConnection()
  .createQueryBuilder()
  .update(StudentOrders)
  .set({
    OrderTypes: () => "CASE WHEN allowRemote = true THEN 'Fresh' ELSE 'Old' END"
  })
  .execute();

说明

  • 这个查询会遍历StudentOrders表的所有记录,根据allowRemote字段的值自动设置对应的OrderTypes:
    • 当allowRemote为true时,OrderTypes设为'Fresh'
    • 当allowRemote为false时,OrderTypes设为'Old'
  • 相比原来的两次查询,这种方式只需要和数据库建立一次连接并执行一次操作,效率更高。

内容的提问来源于stack exchange,提问作者Adeel Abbas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 19:40:32