【问题标题】:How to Check If A Row Is In Multiple Tables如何检查一行是否在多个表中
【发布时间】:2021-06-30 16:35:44
【问题描述】:

我正在寻找一个程序来检查一行中的数据是否已经在两个不同的表中,如果找到它们则失败,因此它不会在表中创建重复的行。

目前我有

If NOT EXISTS (SELECT 1 FROM table_a)

这可以阻止它复制表 a 中的行,但如果数据也已经在表 b 中,我希望它不能插入一行。实现这一目标的最佳方法是什么?

【问题讨论】:

    标签: sql sql-server database


    【解决方案1】:

    您可以检查多个带有NOT EXISTS (SELECT 1 FROM table_a WHERE ..) AND NOT EXISTS (SELECT 1 FROM table_b WHERE ..) 条件的表格

    【讨论】:

      【解决方案2】:

      您也可以将 NOT EXISTS 与 union all 一起使用。

      IF NOT EXISTS(
      SELECT 1 FROM Table_a WHERE condition
      UNION ALL
      SELECT 1 FROM Table_b WHERE condition
      .
      .
      .
      )
      BEGIN
      -- Your logic 
      END 
      

      【讨论】:

        猜你喜欢
        • 2019-08-29
        • 1970-01-01
        • 2013-04-04
        • 2022-01-21
        • 1970-01-01
        • 1970-01-01
        • 2010-11-20
        相关资源
        最近更新 更多