要求是找到完全匹配(交叉应用或内部连接)并绝对值并找到值的差异
将@tmp1 声明为表(
频道 varchar(10),
漏斗 varchar(2),
花费数字(18,2),
sv int,
bfe int);
将@tmp2 声明为表(
频道 varchar(10),
漏斗 varchar(2),
花费数字(18,2),
sv int,
bfe int);
插入@tmp1(频道、漏斗、支出、sv、bfe)
值('显示','UF',155629,89554,1669),
('显示','MF',85454,31534,475),
('显示','LF',106983,68324,867)
插入@tmp2(渠道、漏斗、支出、sv、bfe)
值('显示','MF',206622.17,38018,21443),
('显示','UF',68219.46,89561,1669),
('显示','LF',2297171.85,514779,59347)
select
tmp1.funnel,
abs(tmp1.spend)-abs(tmp2.spend) spend,
abs(tmp1.sv)-abs(tmp2.sv) sv,
abs(tmp1.bfe)-abs(tmp2.bfe) bfe
from @tmp1 tmp1
join @tmp2 tmp2 on tmp1.funnel=tmp2.funnel
输出
UF 87409.54 -7 0
MF -121168.17 -6484 -20968
LF -2190188.85 -446455 -58480