在执行查询的时候,经常会用到多表关联,但如果所需数据仅涉及一张表,通常很难想象会用到join的场景。最近有做一个查询,发现一张表与它自身进行关联,也是非常实用的,分享给大家。
需求:7月各品类的销售额占比。
通常情况下,小编会分品类汇总一下本月的实际支付金额,导出,然后手工计算一下。想来应该有不少同学都是这么操作,因为这个也实在太简单了~但是,这只是小编举的一个栗子,实际需求中,类似此查询仅仅是小编众多操作过程中间的一个环节,因此,小编要尽量在查询中得到直接结果。
于是,小编就用到了一张表与其自身进行关联。
如上,在此例中,销售额占比的分子是7月各品类的销售额,分母是7月总销售额,这两个数据无法在同一条查询语句中进行,那么先分开查询,再以7月这个字段来关联这两条查询语句—需注意,为避免出错,用的是left join。
真实结果不方便直接上图,随便写个数给大家看个大概吧,见下图。红虚线框内是关联后的数据,框外是最后select的结果。
实际应用情况应该会比此例复杂,但整体核心思路如上,小伙伴们如有更多经验,欢迎一起分享。
网友评论