sql - 如何在 SQL 中的 IF EXISTS 中使用 AND 条件?

标签 sql sql-server if-statement

IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'X' AND COLUMN_NAME = 'Y') 

IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Z' AND COLUMN_NAME = 'A')
BEGIN
    UPDATE [dbo].[X] 
        SET Y= (SELECT inst.[A] FROM [dbo].[Z] s WHERE s.[B] = [dbo].[x].[B]);
END    
    GO

我想组合 2 个 IF 条件,并仅当它们都满足时才执行更新。有什么方法可以让我组合 2 IF EXISTS 吗?

最佳答案

简单:

IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'X' AND COLUMN_NAME = 'Y') 
AND EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Z' AND COLUMN_NAME = 'A')

BEGIN
    UPDATE [dbo].[X] 
        SET Y= (SELECT inst.[A] FROM [dbo].[Z] s WHERE s.[B] = [dbo].[x].[B]);
END    
GO

关于sql - 如何在 SQL 中的 IF EXISTS 中使用 AND 条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17414982/

相关文章:

SQL批量数据,希望根据上次更新时间戳找到每个状态的运行时间(分钟)?

sql - 如何使用来访问SQL Server数据库。通过设置位置的名称

php - SQL 语法错误。 Mysql无法插入数据

sql - 带有 GROUP BY 的 3 个 SELECT 语句的平均值

sql - 对相同日期和 ID 的列中的值求和

sql-server - SSMS 2017 崩溃

javascript - 为什么在第一个 if 语句为 true 后,我的第二个 if 语句连续运行两次?

javascript - 为什么这个脚本永远不会运行?

javascript - 将 JQuery .css 放入条件语句

mysql - 如果该字段为负,我如何使 SQL 不执行查询?