excel中的JET ODBC SQL,Case语句与iif

时间:2018-03-14 15:18:04

标签: sql excel

当我运行查询以在Excel中连接我的两张工作表时,我收到无法识别的关键字。

Error - 2147467259 - Unrecognized keyword WHEN

此错误是由于case语句引起的,它们在JET ODBC中不被接受。  我正在使用JET ODBC并在Excel工作表中查询。

任何人都可以帮助使用JET ODBC语法编写正确的case语句,我无法使其工作。

iif ([stack$].[business_name] = 'GELP' 
AND [overflow$].[level] = 'Package' THEN [overflow$].[identifier1]) END AS standardized_identifier,

1 个答案:

答案 0 :(得分:1)

点击Excel工作表时,SQL不支持

CASE语句。您正在Windows中使用JET ODBC / OLEDB提供程序,其语法有限。

而是使用IIF()函数,该函数与Excel If()的语法类似。

例如,您的第一个CASE将如下所示:

iif([stack$].[managementl6description] = 'GLOBAL EQUITY-LINKED PRODUCTS', 'GELP' , iif([stack$].[managementl6description] = 'EQUITY MARKETS', 'EQUITY MARKETS', iif([stack$].[managementl6description] = 'FOREIGN EXCHANGE', 'FIC Foreign Exchange', NULL))) AS business_name