В результате запроса, когда значение равно Null, вместо показа строки - PullRequest
0 голосов
/ 31 мая 2011
SELECT User, COUNT(*) as count FROM Tests GROUP by User;

Это может вернуть строку, где User равен нулю, а count - это некоторое число. Как я могу изменить запрос, чтобы вместо пустой (нулевой) строки я мог видеть какую-то строку?

1 Ответ

4 голосов
/ 31 мая 2011

Обычно я бы предложил coalesce для автоматического преобразования пустых значений в другое, но, похоже, MsAccess может не иметь этого.Вместо этого вы можете попробовать nz:

select     nz(user, '<<NULL>>') as user,
           count(*) as count
from       tests
group by   user

.

Вы также можете обнаружить, что более эффективно (конечно, это зависит от вашей СУБД) получитьизбавление от функций для каждой строки в целом и union два отдельных запроса, что-то вроде:

select user as user, count(*) as count
    from tests
    where user is not null
    group by user
union all select '<<NULL>>' as user, count(*) as count
    from tests
    where user is null

Но позволяет ли это MsAccess (или вас это волнует), я не знаю.Я знаю, что он, скорее всего, будет работать лучше на основной СУБД, которую я использую, но вы всегда должны помнить: мера, не угадай!

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