我正在尝试使用Excel工作簿作为数据源运行以下查询,但是我不明白为什么COALESCE函数不起作用。查询是否有问题或COALESCE函数不适用于Excel?
SELECT COALESCE([net value], 0)
FROM [sheet1$a1:e6]
WHERE [units] = 'UN03'
UNION ALL
SELECT COALESCE([net value], 0)
FROM [sheet1$a1:e6]
WHERE [units] = 'UN06'
UNION ALL
SELECT COALESCE([net value], 0)
FROM [sheet1$a1:e6]
WHERE [units] = 'UN04'
UNION ALL
SELECT COALESCE([net value], 0)
FROM [sheet1$a1:e6]
WHERE [units] = 'UN02'
UNION ALL
SELECT COALESCE([net value], 0)
FROM [sheet1$a1:e6]
WHERE [units] = 'UN01'
似乎唯一可行的方法是下面的查询,但是我无法返回输出,因为IFF函数仅接受单引号内的值,例如'true','false'。我正在尝试返回这些值sheet1$
。net value
,'0',sheet1$
。net value
包含查询输出,0表示查询未完成。不退还任何东西。谁能告诉我我在做什么错?
SELECT IIF(Count(`sheet1$`.`net value`) > 0, `sheet1$`.`net value`, '0') AS
'Net Value'
FROM `sheet1$` `Sheet1$`
WHERE ( `sheet1$`.f1 = 'UN03' )
答案 0 :(得分:0)
您应该像编写MS Access一样编写查询。请参考此内容,其中有许多替代方法可解决您的问题: