17,086
社区成员
发帖
与我相关
我的任务
分享
SELECT
p1.user_id,
p1.arpu,
p2.FLD_LVL_DESC AS ARPU_LVL ,
p1.ROI,
p3.FLD_LVL_DESC AS ROI_LVL
FROM ck_tmp_test p1
,TMP_CK_FLD_DESC p2,
TMP_CK_FLD_DESC p3
WHERE (P2.FLD_NAME='ARPU' and P2.min_fld<arpu and arpu<=P2.max_fld)
AND (P3.FLD_NAME='ROI' and P3.min_fld<ROI and ROI<=P3.max_fld)
上面是现在用的代码,不过这样的话,效率不是很好。因为用户表p1非常大,而且分档字段有几十个,TMP_CK_FLD_DESC表要重复几十遍来获取字段的分档区间。用户表p1,在user_id上是有索引的。