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

如何将4条SQL查询合并为单条高性能查询?

多SQL合并实现方案

核心逻辑

四张业务表通过公共关联键CD_PURCHASE(采购单编码)做内连接,把所有过滤条件整合到同一条查询语句中,单次调用即可返回符合所有规则的结果。

合并后的最终SQL

SELECT 
    t4.CD_PURCHASE, 
    t4.CD_PRODUCT, 
    t4.ID_CUSTOMER, 
    t4.DT_LAST_PURCHASE
FROM TB_PURCHASE_STORE t1
INNER JOIN TB_PURCHASE t2 
    ON t1.CD_PURCHASE = t2.CD_PURCHASE
INNER JOIN TB_PURCHASE_PRODUCT t3 
    ON t2.CD_PURCHASE = t3.CD_PURCHASE
INNER JOIN TB_PURCHASE_SALES t4 
    ON t3.CD_PURCHASE = t4.CD_PURCHASE 
    AND t3.CD_PRODUCT = t4.CD_PRODUCT
WHERE 
    -- 分支、门店筛选条件
    t1.CD_BRANCH = ? 
    AND t1.CD_STORE = ?
    -- 促销周期校验
    AND SYSDATE BETWEEN TO_DATE(t2.DT_BEGIN_PROMOTION) AND TO_DATE(t2.DT_END_PROMOTION)
    -- 商品生效状态校验
    AND t3.FL_ACTIVE = 1
    -- 客户ID筛选条件
    AND t4.ID_CUSTOMER = ?

说明

  • 语句共需要传入3个参数,顺序为:分支编码、门店编码、客户ID
  • 以上用的是内连接,只会返回同时满足所有筛选条件的记录。如果业务需要保留符合前序条件、但没有对应销售记录的采购单/商品,可以根据场景把对应INNER JOIN调整为LEFT JOIN
  • 可以根据业务需要,在SELECT部分补充返回促销周期、门店信息等其他表的字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 13:54:04