Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在左连接条件中使用WHERE_Sql_Sql Server_Tsql_Left Join_Where Clause - Fatal编程技术网

Sql 在左连接条件中使用WHERE

Sql 在左连接条件中使用WHERE,sql,sql-server,tsql,left-join,where-clause,Sql,Sql Server,Tsql,Left Join,Where Clause,我试图找出是否可以在条件上使用左连接的WHERE。我希望这是有道理的 以下是脚本: SELECT DISTINCT SLA.slxTELEMAGICID, sfAccount_Number__c = A.Account_Number__c, SLA.slxACCOUNTID, sfId = A.Id INTO #sfEXACTIVEACCOUNTS FROM #slxACTIVEACCOUNTS SLA

我试图找出是否可以在条件上使用左连接的WHERE。我希望这是有道理的

以下是脚本:

SELECT DISTINCT
      SLA.slxTELEMAGICID,
      sfAccount_Number__c = A.Account_Number__c,
      SLA.slxACCOUNTID,
      sfId = A.Id
      INTO #sfEXACTIVEACCOUNTS
        FROM #slxACTIVEACCOUNTS SLA
              LEFT JOIN ACCOUNT A
                ON SLA.slxTELEMAGICID = A.Account_Number__c
                WHERE SLA.slxTELEMAGICID is NULL OR SLA.slxTELEMAGICID ='N' OR SLA.slxTELEMAGICID <> A.Account_Number__c
                ORDER BY SLA.slxTELEMAGICID, A.Account_Number__c

上述脚本的问题在于,它似乎无法提取SLA.slxTELEMAGICID A.Account\u Number\uu c.记录列表。

我不太明白您想要实现什么,您能详细说明一下吗

您的左join在slxTELEMAGICID和account_number____c上声明了join,但是在您声明的where子句中,您还可以检索join子句中加入的两个不匹配的记录,除非此条件不满足,因为它们已经被join过滤了

您的联接条件本身在联接中可以有多个条件,例如:

SELECT DISTINCT
      SLA.slxTELEMAGICID,
      sfAccount_Number__c = A.Account_Number__c,
      SLA.slxACCOUNTID,
      sfId = A.Id
  INTO #sfEXACTIVEACCOUNTS
  FROM #slxACTIVEACCOUNTS SLA
  LEFT JOIN ACCOUNT A ON SLA.slxTELEMAGICID = A.Account_Number__c
       OR SLA.slxTELEMAGICID is NULL 
       OR SLA.slxTELEMAGICID ='N' 
       OR SLA.slxTELEMAGICID <> A.Account_Number__c
  ORDER BY SLA.slxTELEMAGICID, A.Account_Number__c
虽然这看起来真的会返回所有行,不是吗?如果你要加入slxTELEMAGICID=account\u number\u\u c,当它们不相等时,那就是一切了是吗?保存空值