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

xe55xuns  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(288)

我有一个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工具。
我试过了 `CASE` sql语句,但没有运气,错误我看到使用 `CASE` 是

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

xyhw6mcr

xyhw6mcr1#

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

Unrecognized keyword WHEN

当查询excel文件时,您很可能使用ace oledb驱动程序,但该驱动程序不支持 CASE WHEN 语法,您需要使用 IIF() 而不是功能。如果你有ms-access,你可以用它来构建和测试你的sql,如果你不习惯ace-oledb有限的sql,那就很方便了。
同样的问题请看这里。

相关问题