#sql #ssis #db2
#sql #ssis #db2
Вопрос:
Я запускаю приведенный ниже запрос select в SSIS, который использует соединение DB2.
SELECT
(SELECT COUNT(*) FROM tbl.Test) AS NoOfDest
FROM tbl.Index
FETCH FIRST 1 ROW ONLY;
Когда этот запрос не дает результата, я получаю приведенную ниже ошибку в SSIS.
указан набор результатов с одной строкой, но строки не были возвращены.
Итак, я пытаюсь вернуть 0
в DB2 вместо «пусто / без результата». Я пробовал следующее.
SELECT
(COALESCE((SELECT COUNT(*) FROM tbl.Test), 0)) AS NoOfDest
FROM tbl.Index
FETCH FIRST 1 ROW ONLY;
SELECT
(NVL((SELECT COUNT(*) FROM tbl.Test), 0)) AS NoOfDest
FROM tbl.Index
FETCH FIRST 1 ROW ONLY;
Но все, что не возвращает результата.
Как я могу вернуть 0 в DB2?
Комментарии:
1. Просто
SELECT COUNT(*) as NoOfDest FROM tbl.Test
?
Ответ №1:
Предположительно, он не возвращает результата, потому что tbl.Index
. Попробуйте это:
SELECT (SELECT COUNT(*) FROM tbl.Test) AS NoOfDest
FROM sysibm.sysdummy1;
Возникает вопрос, почему вы просто не выполняете:
SELECT COUNT(*) AS NoOfDest
FROM tbl.Test;