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

基于关联列更新SQL表Attachment字段:特定条件设为1

实现指定条件的SQL更新操作

需求说明

更新目标表,当记录满足以下两个条件时,将Attachment列设置为1:

  • 记录的TypeID = 1
  • 该记录的InvoiceNumber存在对应的TypeID = 3的关联记录

推荐SQL语句(无临时表,适合ETL流程)

使用EXISTS子查询的写法性能更优,适配大数据量场景:

UPDATE YourTableName
SET Attachment = 1
WHERE TypeID = 1
AND EXISTS (
    SELECT 1
    FROM YourTableName AS t2
    WHERE t2.InvoiceNumber = YourTableName.InvoiceNumber
    AND t2.TypeID = 3
);

备选写法(使用IN子查询)

如果更习惯IN语法,也可以采用以下语句:

UPDATE YourTableName
SET Attachment = 1
WHERE TypeID = 1
AND InvoiceNumber IN (
    SELECT InvoiceNumber
    FROM YourTableName
    WHERE TypeID = 3
);

当前表状态

TypeIDInvoiceNumberAttachment
3I78671666NULL
1I78671666NULL
3I78671759NULL
1I78671759NULL
1I78671762NULL
1I78671903NULL
3I78672198NULL
1I78672198NULL

期望结果

TypeIDInvoiceNumberAttachment
3I78671666NULL
1I786716661
3I78671759NULL
1I786717591
1I78671762NULL
1I78671903NULL
3I78672198NULL
1I786721981

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 10:31:25