求思路,几十W数据与另一个表8W条,进行联合查询,进行单位换算
有一个库存变化表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
如果单纯通过外联,效率非常低
后来想了一下,因为A表ItemId有很多重复,所以想先对A的ItemId进行GroupBy,得到A1表
在跟B进行外联,作为C表 ,然后A跟C内联,得到 3个单位换算系数
我这么想的,各位大大还有什么更好的方法没?
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
核心面试聚焦:业务问题+系统问题+设计题---字节、阿里、美团等整理统计
业务系统及其他相关面试问题整理:线上相关问题排查+高并发系统的限流+高并发秒杀系统设计+负载均衡+一个网站有 20 亿 url 存在一个黑名单中,这个黑名单要怎么存?若此时随便输入一个 url,你如何快速判断该 url 是否在这个黑名单中?并且需在给定内存空间(比如:500M)内快速判断出?
射频功率单位W mW dBW dBm dBμV之间的换算
总结来说,射频功率单位间的转换主要依赖于对数运算和功率与电压的关系。在不同场景下,选择合适的单位可以简化计算,方便理解和比较不同功率级别的信号。
射频 功率单位换算工具W转dbm单位
射频功率单位换算工具如"dBm_W.exe"则提供了方便的转换功能,用户无需手动计算即可快速在W和dBm之间进行切换。
单位换算表
本篇文章将详细解析标题为"单位换算表"的资料,特别是关于功率/电压与相应分贝(dB)的换算关系,其中负载电阻设定为50欧姆。首先,我们要理解分贝(dB)是一个对数单位,常用于表示功率或电压的相对变化。


应用实例
