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

SQL Server 2016查询:获取客户未关联的行业对应产品

客户所属行业未购产品查询方案

假设表结构

基于问题描述,定义两张核心表的字段:

  • 行业产品表(IndustryProducts):
    • Industry:VARCHAR(50),行业名称
    • ProductName:VARCHAR(50),行业Top3产品名称
  • 客户表(CustomerPurchases):
    • CID:VARCHAR(10),客户ID
    • Industry:VARCHAR(50),客户所属行业
    • PurchasedProduct:VARCHAR(50),客户已购产品名称

SQL Server 2016 查询语句

SELECT 
    cp.CID,
    ip.Industry,
    ip.ProductName AS UnpurchasedProduct
FROM 
    CustomerPurchases cp
INNER JOIN 
    IndustryProducts ip ON cp.Industry = ip.Industry
WHERE 
    NOT EXISTS (
        SELECT 1 
        FROM CustomerPurchases cp_inner
        WHERE cp_inner.CID = cp.CID
          AND cp_inner.PurchasedProduct = ip.ProductName
    )
GROUP BY 
    cp.CID, ip.Industry, ip.ProductName
ORDER BY 
    cp.CID, ip.ProductName;

逻辑说明

  1. 用INNER JOIN关联客户表和行业产品表,仅保留客户所属行业的全部Top3产品。
  2. NOT EXISTS子句筛选出当前客户从未购买过的产品,排除已购记录。
  3. GROUP BY用于去重,避免因客户表存在多条同ID购买记录导致未购产品重复返回。

示例结果(CID 001)

执行后会返回该客户Retail行业下未购买的产品:

CIDIndustryUnpurchasedProduct
001RetailSilver
001RetailGold

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 08:09:59