sql - 计算 SQL Server 中两个相似表列之间的比率
问题描述
我有这张桌子
Code1 Month1 Month2 Month3
--------------------------------
Delta 2000 3000 1000
Charlie 1000 1000 2000
Bravo 800 200 300
我有另一个类似的临时表,其中包含来自不同计算方面的数据
Code1 Month1 Month2 Month3
--------------------------------
Delta 1000 3000 3000
Charlie 300 400 200
Bravo 400 200 300
我想知道如何将两个表中的数据合并为一个,格式如下
Code1 Month1 Month2 Month3
---------------------------------
Delta 2 ........
Charlie 3.3 ...
Bravo 2 ....
这基本上是匹配行,然后执行第一个表列/第二个表列。
我有一个粗略的方法是将表连接到一个大表中,然后通过划分连接的列创建另一个临时表,但想知道是否有更好的方法。
谢谢
解决方案
你可以使用内连接
select
t1.Code1,
(t1.month1 * 1.0) / t2.month1 as month1,
(t1.month2 * 1.0) / t2.month2 as month2,
(t1.month3 * 1.0) / t2.month3 as month3
from t1
inner join t2 on t1.code1 = t2.code1
请注意:
从提供的示例数据来看,似乎不需要完全外连接。如果数据是 1 对 1,最好使用内部连接来考虑性能
推荐阅读
- python - 如何使用 python selenium 从 html 中抓取嵌套表
- arrays - 如何在不使用 segue 的情况下将标签从 viewController 传递到另一个?
- typescript - 声明字符串枚举并使用它们的更好方法 - Typescript
- c# - 如何在文本框中键入时创建存储在数据库中的表示长文本的短词 c#
- html - 我使用绝对位置,但是当窗口或屏幕尺寸发生变化时,我的元素不会停留在我放置它们的位置
- java - 打印阵列堆栈
- android - android模拟器(AVD)中状态栏的高度奇怪地增加了
- android - 如何在颤动中将.dart文件的变量获取到另一个.dart文件
- python - 对 pandas 数据框的多列进行特征设计(在现有列的基础上添加新列)
- python - Selenium 库无法正常工作(Python 3)