我对Excel有一个SQL查询,它工作得很好,但是当条件不匹配时,它会跳过特定的记录。我需要用单元格值作为NULL的记录。我怎样才能做到这一点?以下是查询:
Select [Supplier Code], [Policy Buyer] from [$vPolicyBuyerSheetName$$] where [Supplier Code] = "$vOutputSupplierCode$"vOutputSupplierCode是从不同的Excel文件中提取的,我在vPolicyBuyerSheetName中搜索该值以获得[Supplier Code],[Policy Buyer]。我需要[Supplier Code],[Policy Buyer],即使where [Supplier Code] = "$vOutputSupplierCode$"不满意。此代码是在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$$]发布于 2020-07-22 14:46:40
SQL引擎告诉您问题是什么:
Unrecognized keyword WHEN在查询Excel文件时,您最有可能使用的是ACE驱动程序,因为该驱动程序不支持CASE WHEN语法,因此需要使用IIF()函数。如果您拥有MS Access,您可以使用它在那里构建和测试您的SQL,如果您不习惯ACE OLEDB的有限SQL,则非常方便。
关于同样的问题,请参见here。
https://stackoverflow.com/questions/63035018
复制相似问题