У меня есть запрос, который делает 2 суммы, а затем первый вычтет второй, но в некоторых случаях второй нуль - PullRequest
0 голосов
/ 12 апреля 2011

У меня есть запрос (в MS-Query, MSQRY32.EXE), который составляет 2 суммы, а затем первый вычтет второй, но в некоторых случаях второй является нулевым, как мне пройти через это?

(Sum(CASE WHEN m.mcdmv=11 THEN m.mqtd END)- 
Sum(CASE WHEN m.mcdmv=12 THEN m.mqtd END))

Это часть запроса, но иногда один из них или оба являются нулевыми, так как мне это сделать?

Ответы [ 2 ]

1 голос
/ 12 апреля 2011

(IIf(Sum1 Is Null,0,Sum1) - IIf(Sum2 Is Null,0,Sum2))

0 голосов
/ 12 апреля 2011

Сначала я бы спросил, уместно ли суммировать нули, и что вы ожидаете получить, когда вычитаете нуль из ненулевого (или наоборот).

Вероятно, вам нужно либо удалить записи с нулями (where m.mqtd is not null), либо изменить все нули на 0 (nz(m.mqtd, 0))

...