Невозможно считать несовпадающие строки как NULL из JOIN - PullRequest
0 голосов
/ 23 мая 2018

У меня есть этот запрос, объединяющий две "поддельные" таблицы:

select count(tb2.col2) from (select unnest(array['A','B']) col1) tb1 left join (select unnest(array['B','C']) col2) tb2 on tb1.col1=tb2.col2 where tb2.col2 IS NULL;

http://sqlfiddle.com/#!15/9eecb7db59d16c80417c72d1e1f4fbf1/22712

Вы можете видеть, что я ожидаю, что значение NULL будет 1, но оно показывает0

Так как считать несовпадающие строки?

 col1 | col2
------+------
 A    |
 B    | B

1 Ответ

0 голосов
/ 23 мая 2018

Используйте select count(*) вместо select count(tb2.col2).

  • count(*) - это количество строк.
  • count(expr) - это количество строк, где expr - это количество строк.ненулевой.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...