You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过自连接关联批发零售数据并统计Builder/Dealer渠道销量?

需求说明

我有一张包含批发和零售数据的表,结构如下:

ChannelSerial#Date
WS-Build123451/1/2019
WS-Dealer345671/5/2021
Retail123451/1/2020
Retail345673/5/2021

每个Serial#在表中会出现两次,我需要按Serial#匹配数据,得到如下格式的输出,同时统计通过Builder或Dealer渠道售出的产品数量:

Serial#ChannelWholesaleDateRetail Date
12345WS-Build1/1/20191/1/2020
34567WS-Dealer1/5/20213/5/2021

请问如何通过自连接同一张表实现该需求?


自连接实现方案

你可以将表分别作为批发数据来源和零售数据来源进行自连接,基于Serial#关联对应记录,同时筛选目标渠道的数据,具体SQL语句如下:

SELECT 
    w.Serial# AS "Serial#",
    w.Channel AS "Channel",
    w.Date AS "WholesaleDate",
    r.Date AS "Retail Date"
FROM 
    your_table_name w
JOIN 
    your_table_name r ON w.Serial# = r.Serial#
WHERE 
    w.Channel IN ('WS-Build', 'WS-Dealer')
    AND r.Channel = 'Retail';

逻辑说明

  • 给表设置两个别名:w代表批发数据(Wholesale),r代表零售数据(Retail)
  • 通过w.Serial# = r.Serial#将同一序列号的批发、零售记录关联
  • WHERE子句精准筛选:只保留批发渠道为WS-Build/WS-Dealer的记录,同时确保关联的是对应序列号的零售记录
  • 按需选择字段并自定义别名,直接得到目标格式的输出

如果要统计Builder或Dealer渠道的售出数量,基于上述逻辑添加计数即可:

SELECT COUNT(*) AS Wholesale_Sales_Count
FROM 
    your_table_name w
JOIN 
    your_table_name r ON w.Serial# = r.Serial#
WHERE 
    w.Channel IN ('WS-Build', 'WS-Dealer')
    AND r.Channel = 'Retail';

内容的提问来源于stack exchange,提问作者ppdalal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 00:35:19