即使SQL where子句条件与Excel使用的SQL查询不匹配,也要包括记录



我有一个Excel的SQL查询,它运行良好,但当条件不匹配时,它会跳过特定的记录。我需要那个单元格值为NULL的记录。我该如何做到这一点?。以下是查询:

Select [Supplier Code], [Policy Buyer] from [$vPolicyBuyerSheetName$$] where [Supplier Code] = "$vOutputSupplierCode$"

vOutputSupplierCode取自不同的Excel文件,我正在vPolicyBuyerSheetName中搜索该值以获得[Supplier Code][Policy Buyer]。即使where [Supplier Code] = "$vOutputSupplierCode$"不满足,我也需要[Supplier Code][Policy Buyer]。此代码是在ExcelAutomationAnywhere工具的数据库命令中编写的。

我尝试过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,这非常方便。

同样的问题见这里。

相关内容

  • 没有找到相关文章

最新更新