开发者社区> 问答> 正文

sqlserver计算列能否多表关联查询计算

已解决

sqlserver计算列能否多表关联查询计算,比如a表中保存计算结果的精度等数据,b表保存价格,订单数等数据,c表保存送货数等数据。那么送货金额需要 a,b,c三张表关联查询计算得出
那么能否加个计算列,用函数实现a,b,c三表的计算结果?
如果能实现并持久化,最后查询送货金额是,是不是比a,b,c三张表关联查询速度更快?

谢谢

展开
收起
luodang007 2017-06-23 09:16:35 3762 0
2 条回答
写回答
取消 提交回答
  • 阿里云数据库专家,负责SQL Server数据库产品线。SQL Server从业10年,经历过SQL 2000、SQL 2005、SQL 2008、SQL 2008R2、SQL 2012、SQL 2014、SQL 2016和SQL on Linux各个版本。
    采纳回答

    源生态的计算列不支持数据来自于多个表,而仅支持来自一个表,比如:A表中的col2的值是通过col1的值计算而来,比如: col2 = col1 * 2等。你讲的这个场景,请自己写一个存储过程,然后通过Job来刷调用存储过程来刷数据吧。

    2019-07-17 21:19:21
    赞同 1 展开评论 打赏
  • 可以写一个触发器,a,b,c表的指定字段的变化触发一个计算送货金额并写入某张表的动作。但是实际业务实现不太建议这么做,更简单的做法是在代码中实现,凡是写入a,b,c表的代码都同时计算一个送货金额并写入其他表,如果要保证严格一致可以加上事务。

    2019-07-17 21:19:21
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
时序数据库TSDB新功能 - 如何用SQL进行时序查询 立即下载
PolarDB NL2SQL: 帮助您写出准确、优化的SQL 立即下载
MySQL表和索引优化实战 立即下载