Функция MS Access + NZ () с пустой таблицей - PullRequest
1 голос
/ 03 октября 2011

Я пытаюсь добавить значения из двух разных таблиц, но одна из таблиц полностью пуста. Я знаю, что функция Nz () предназначена для преобразования значений Null в другое значение, т. Е. 0, но у меня проблема в том, что в таблице нет данных, поэтому Nz () не работает.

Есть ли способ добавить значения двух таблиц вместе, если одна таблица пуста? Я знаю, что это кажется бессмысленным, и в конце концов таблица будет иметь значения, но ради отчетов этой недели мне нужно сделать это.

Спасибо

Ответы [ 2 ]

2 голосов
/ 03 октября 2011

Я подозреваю, что это связано с вашим запросом. Попробуйте что-то вроде:

SELECT Nz(t1.[Field1],0) + Nz(t2.[Field1],0) As Added 
FROM t1 LEFT JOIN t2
ON t1.ID = t2.ID

Важным моментом является LEFT JOIN, в который будут включены все записи с момента времени t1, даже если в момент времени t2 совпадений нет.

0 голосов
/ 03 октября 2011

Обратите внимание, что функция Nz() недоступна за пределами интерфейса доступа.Вот альтернативный подход, который избегает Nz():

SELECT t1.Field1 + t2.Field1 AS Added 
  FROM t1 INNER JOIN t2 ON t1.ID = t2.ID
UNION
SELECT 0 AS Added 
  FROM t2
HAVING COUNT(*) = 0;
...