在SQL查询用于Excel时,即使SQL where子句条件不匹配,也包括记录

在SQL查询用于Excel时,即使SQL where子句条件不匹配,也包括记录,sql,excel,automationanywhere,Sql,Excel,Automationanywhere,我有一个针对Excel的SQL查询,它可以正常工作,但当条件不匹配时,它会跳过特定的记录。我需要单元格值为NULL的记录。我如何做到这一点?。以下是查询: Select [Supplier Code], [Policy Buyer] from [$vPolicyBuyerSheetName$$] where [Supplier Code] = "$vOutputSupplierCode$" vOutputSupplierCode取自不同的Excel文件,我正在vPolicy

我有一个针对Excel的SQL查询,它可以正常工作,但当条件不匹配时,它会跳过特定的记录。我需要单元格值为
NULL
的记录。我如何做到这一点?。以下是查询:

Select [Supplier Code], [Policy Buyer] from [$vPolicyBuyerSheetName$$] where [Supplier Code] = "$vOutputSupplierCode$"
vOutputSupplierCode
取自不同的Excel文件,我正在
vPolicyBuyerSheetName
中搜索该值以获得
[供应商代码]
[保单买家]
。我需要
[供应商代码]
[保单买家]
,即使
其中[供应商代码]=“$VOUTPUTSPPLIERCODE$”
不满足。 此代码是在
AutomationAnywhere
工具的Excel的数据库命令中编写的

我尝试了SQL的
CASE
语句,但没有成功,我使用
CASE
看到的错误是

"- Unrecognized keyword WHEN." 
Select [Supplier Code], [Policy Buyer] CASE WHEN [Supplier Code] = "$vOutputSupplierCode$" THEN [Policy Buyer] ELSE "null" END from [$vPolicyBuyerSheetName$$]

SQL引擎会告诉您问题所在:

Unrecognized keyword WHEN
查询Excel文件时,您最有可能使用ACE OLEDB驱动程序,该驱动程序不支持
CASE When
语法,您需要使用
IIF()
函数。如果您有MS Access,您可以使用它在那里构建和测试您的SQL,如果您不习惯ACE OLEDB有限的SQL,这将非常方便

请参阅以了解相同的问题。

从[$vPolicyBuyerSheetName$]中选择IIf([Supplier Code]=“$vOutputSupplierCode$”,[Supplier Code],“False”)-我尝试了此操作,但返回的是False,并返回[$vPolicyBuyerSheetName$]文件中的所有记录。如果[$vPolicyBuyerSheetName$]文件中存在值“$vOutputSupplierCode$”,我希望在输出excel中显示SupplierCode。如果值“$VOUTPUTPupplierCode$”不存在[$vPolicyBuyerSheetName$$]文件,则我希望在excel中以NULL或False形式写入。