求思路,几十W数据与另一个表8W条,进行联合查询,进行单位换算

从不签到 从不签到 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
有一个库存变化表A,里面有至少几十W条数据
ItemID TransDate InventUnit PurchUnit SalesUnit Qty CostUnit InventFactor PurchFactor SalesFactor
A001 2014/10/01 kg g kg 100 kg
A001 2014/10/02 kg g kg 200 kg
B001 2014/10/01 kg g kg 100 kg
B001 2014/10/02 kg g kg 200 kg

单位换算表B
ItemID FromUnit ToUnit Factor
A001 kg g 1000
A001 g kg 0.001

现在要分别对A表的 InventUnit ,PurchUnit, SalesUnit 与 CostUnit 对比,相同则=1,不同则到表B去检索,得到 InventFactor PurchFactor SalesFactor

如果单纯通过外联,效率非常低

select A.ItemId,
case when A.InventUnit = A.CostUnit then 1 else B1.Factor end as InventFactor,
case when A.PurchUnit = A.CostUnit then 1 else B2.Factor end as PurchFactor,
case when A.SalesUnit = A.CostUnit then 1 else B3.Factor end as SalesFactor
from A
left join B B1
on A.ItemId = B1.ItemID
and A.InventUnit = B1.FromUnit
and A.CostUnit = B1.ToUnit
left join B B2
on A.ItemId = B2.ItemID
and A.InventUnit = B2.FromUnit
and A.CostUnit = B2.ToUnit
left join B B3
on A.ItemId = B3.ItemID
and A.InventUnit = B3.FromUnit
and A.CostUnit = B3.ToUnit


后来想了一下,因为A表ItemId有很多重复,所以想先对A的ItemId进行GroupBy,得到A1表
在跟B进行外联,作为C表 ,然后A跟C内联,得到 3个单位换算系数

我这么想的,各位大大还有什么更好的方法没?

...全文

相关推荐

dBm与W的关系换算

本文介绍dBm与瓦特(W)之间的快速换算方法,基于30dBm=1W的基准,利用±3dBm功率翻倍、±10dBm功率十倍的变化规律,结合口算技巧实现高效转换。同时涵盖+1dBm、+2dBm微调计算及dB

cqlyl1987

核心面试聚焦:业务问题+系统问题+设计题---字节、阿里、美团等整理统计

业务系统及其他相关面试问题整理:线上相关问题排查+高并发系统的限流+高并发秒杀系统设计+负载均衡+一个网站有 20 亿 url 存在一个黑名单中,这个黑名单要怎么存?若此时随便输入一个 url,你如何快速判断该 url 是否在这个黑名单中?并且需在给定内存空间(比如:500M)内快速判断出?

张彦峰ZYF

射频功率单位W mW dBW dBm dBμV之间的换算

总结来说,射频功率单位间的转换主要依赖于对数运算和功率与电压的关系。在不同场景下,选择合适的单位可以简化计算,方便理解和比较不同功率级别的信号。

aphapan

射频 功率单位换算工具W转dbm单位

射频功率单位换算工具如"dBm_W.exe"则提供了方便的转换功能,用户无需手动计算即可快速在W和dBm之间进行切换。

weixin_43674664

单位换算表

本篇文章将详细解析标题为"单位换算表"的资料,特别是关于功率/电压与相应分贝(dB)的换算关系,其中负载电阻设定为50欧姆。首先,我们要理解分贝(dB)是一个对数单位,常用于表示功率或电压的相对变化。

u010552897
评论 13
收藏 已收藏
分享
返回顶部
从不签到
应用实例 27,579 成员 68,540 内容