在SQL查询用于Excel时,即使SQL where子句条件不匹配,也包括记录
我有一个针对Excel的SQL查询,它可以正常工作,但当条件不匹配时,它会跳过特定的记录。我需要单元格值为在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
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形式写入。