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

SQL Server:主部件与子部件日期不一致查询问题

主/子部件EO_DATE不一致记录查询方案

在表ASC_PMA_TBL中:

  • 主部件编号自动生成,子部件编号格式为主部件编号+“-”+两位数字(示例:主部件18245对应子部件18245-50)
  • 所有部件均包含EO_DATE日期时间字段,需查询主部件与对应子部件该日期字段值不一致的记录

遇到的限制与解决过程:

  • 数据库中主、子部件无外键关联
  • 转换日期字段为日期类型后无法直接使用别名,尝试子查询未解决需求,最终通过全局临时表实现目标

实现代码

SELECT
    PMA_PART_ONLY,
    CONVERT(DATE,PMA_EFFECT_DATE_OFF) As 'EO_DATE'
INTO
    ##MParts
FROM
    ASC_PMA_TBL
WHERE
    (PMA_PROC_CODE = 'M') AND
    (PMA_EFFECT_DATE_OFF IS NOT NULL)

SELECT
    PMA_PART_ONLY,
    CONVERT(DATE,PMA_EFFECT_DATE_OFF) As 'EO_DATE',
    SUBSTRING(PMA_PART_ONLY,0,CHARINDEX('-',PMA_PART_ONLY,0)) As 'MP_NO'
INTO
    ##SParts
FROM
    ASC_PMA_TBL
WHERE
    (PMA_PROC_CODE = 'S') AND
    (PMA_EFFECT_DATE_OFF IS NOT NULL)

SELECT
    ##SParts.PMA_PART_ONLY As 'SUB_PART_NO',
    ##MParts.EO_DATE As 'M_PART_DATE',
    ##SParts.EO_DATE As 'S_PART_DATE'
FROM
    ##MParts INNER JOIN ##SParts ON ##SParts.MP_NO = ##MParts.PMA_PART_ONLY
WHERE
    (##MParts.EO_DATE <> ##SParts.EO_DATE)
ORDER BY
    SUB_PART_NO DESC
    
DROP TABLE ##MParts
DROP TABLE ##SParts

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:20:49