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

如何编写SQL查询获取与当前行共享同一DEAL值的所有关联OFFER?

解决方法:使用自连接实现同DEAL下的OFFER关联

这需求用**自连接(Self-Join)**就能完美实现,核心思路是把同一张表当作两个独立的数据集,通过DEAL字段关联,同时排除OFFER和自身匹配的情况。

具体SQL代码

SELECT 
    t1.OFFER,
    t1.DEAL,
    t2.OFFER AS SHARED
FROM 
    table1 t1
INNER JOIN 
    table1 t2 
    ON t1.DEAL = t2.DEAL 
    AND t1.OFFER != t2.OFFER
ORDER BY 
    t1.DEAL, t1.OFFER;

代码解释

  • 给table1分别起别名t1和t2,相当于把原表复制成两个逻辑表来关联
  • ON子句的t1.DEAL = t2.DEAL保证只匹配同一DEAL分组内的记录
  • t1.OFFER != t2.OFFER用来过滤掉OFFER和自身匹配的无效结果(比如A和A的组合)
  • ORDER BY用来对结果按DEAL和OFFER排序,让输出和你期望的格式完全对齐

执行这条SQL后,就能得到你想要的结果:每个OFFER会和同DEAL下的其他OFFER一一配对,生成对应的SHARED字段值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 04:38:09