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

如何关联两张表统计符合采购协议条件的交易ID数量?

解决方案(SSMS SQL实现)

方法1:INNER JOIN(先去重协议表)

采购协议表存在重复的Product Type+Client ID记录,先去重再关联交易表,避免交易ID被重复统计:

SELECT 
    pa.[Product Type],
    pa.[Client ID],
    COUNT(t.[Transaction ID]) AS 交易数量
FROM 
    (SELECT DISTINCT [Product Type], [Client ID] FROM [Purchasing Agreements]) pa
INNER JOIN 
    [Transactions] t 
    ON pa.[Product Type] = t.[Product Type] 
    AND pa.[Client ID] = t.[Client ID]
GROUP BY 
    pa.[Product Type], pa.[Client ID]
ORDER BY 
    pa.[Product Type], pa.[Client ID]

方法2:WHERE EXISTS(大数据量更高效)

用EXISTS判断当前交易的产品和客户是否在协议表中存在,自动忽略协议表的重复记录:

SELECT 
    [Product Type],
    [Client ID],
    COUNT([Transaction ID]) AS 交易数量
FROM 
    [Transactions] t
WHERE EXISTS (
    SELECT 1 
    FROM [Purchasing Agreements] pa
    WHERE pa.[Product Type] = t.[Product Type] 
      AND pa.[Client ID] = t.[Client ID]
)
GROUP BY 
    [Product Type], [Client ID]
ORDER BY 
    [Product Type], [Client ID]

关键说明

  • 两种方法都会返回你需要的维度(产品类型、客户ID)和对应的交易计数,结果直接对应你要的数据透视表结构,可直接导出使用。
  • 之前Excel透视表出错的原因:多字段关联时,Excel无法自动处理协议表的重复值,导致计数逻辑混乱;用SQL先做精确筛选再分组统计,能彻底规避这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 06:32:40