Excel в качестве базы данных с использованием запросов SQL Server - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь выполнить приведенный ниже запрос, используя книгу 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' ) 

enter image description here

1 Ответ

0 голосов
/ 31 августа 2018

Вы должны написать запрос, как будто пишете для MS Access. Пожалуйста, укажите это, когда есть ряд альтернатив для вашей проблемы:

объединить альтернативу в Access SQL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...