sql - 选择不存在的位置后更新列
问题描述
从另一个表中选择不存在的记录后,如何更新列。当某些记录不存在时,需要将状态列更新为 0。
SELECT *
FROM [BankingServicesReconciliations].[dbo].[Test1] p1
WHERE p1.[Age] is not null and
Not EXISTS (SELECT * FROM [BankingServicesReconciliations].[dbo].[Test2] p2 WHERE ( p1.[Surname] =p2.[Surname]) )
解决方案
您的代码基本上转换为update
:
UPDATE [BankingServicesReconciliations].[dbo].Test1
SET status = 0
WHERE Age is not null and
NOT EXISTS (SELECT 1
FROM [BankingServicesReconciliations].[dbo].[Test2] p2
WHERE p2.[Surname] = Test1.[Surname]
);
唯一的微妙之处是 SQL Server 不允许您在UPDATE
子句中声明别名。您可以使用FROM
子句,但在这种情况下似乎几乎没有必要。
推荐阅读
- javascript - JS:拒绝可以排除在承诺之外吗?
- webrtc - 如何将原始数据从网络音频流式传输到 webrtc 数据通道
- ios - 如何从 Realm 中的 2 个表中获取数据
- android - 如何使用 Firebase 仅使用电话号码和 otp 实现现有用户登录
- c++ - 元组的可变参数模板被反转
- ssl - 使用 .crt 文件和 ca 签名证书生成 .jks 文件
- java - 如何将图片从imageview发送到gmail?
- laravel - 在 AWS Serverless 平台上部署 Laravel (laravel-mix) 应用程序
- python - 获取用户输入时,我想检查两个值,但是,我使用的代码不断循环
- php - foreach 循环如何在另一个 foreach 循环中工作?