代码之家  ›  专栏  ›  技术社区  ›  Matt Larsuma

SQL Server,除了几行之外,是否排除了许多不在的行?

  •  0
  • Matt Larsuma  · 技术社区  · 6 年前

    AND sa.AccountID NOT IN (
                              SELECT AccountID
                              FROM
                              SubAccountData
                              WHERE AccountDataTypeID = 10315
                                    AND 
                                    Data IN (
                                              SELECT KeyData
                                              FROM AccountDataValues
                                              WHERE AccountDataTypeID = 10315
                                                    AND 
                                                    ValueData LIKE 'FS001%MPLS'
                                             )
                             )
    

    这大概拉了1000行,还有7行我不想拉。我有sa帐号。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Aaron Dietz    6 年前

    因为它是一个 NOT IN 您只需要排除从子查询返回的行:

    ... NOT IN (SELECT AccountID
                FROM SubAccountData
                WHERE AccountID NOT IN (the 7 IDs)
                AND AccountDateTypeID = 10315
                AND Data IN (...)
               )