我有一个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$$]
1条答案
按热度按时间xyhw6mcr1#
sql引擎会告诉您问题所在:
当查询excel文件时,您很可能使用ace oledb驱动程序,但该驱动程序不支持
CASE WHEN
语法,您需要使用IIF()
而不是功能。如果你有ms-access,你可以用它来构建和测试你的sql,如果你不习惯ace-oledb有限的sql,那就很方便了。同样的问题请看这里。