Использование оператора IN в случае, когда в SQL? - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь запустить случай, когда оператор, который работает с оператором IN - так, чтобы, когда значение (или значения) URL были предоставлены в предложении IN, он выполнял этот случай при задании значений 1 или Нуль, когда они соответствуют либо предоставленному URL-адресу, либо группе URL-адресов.

Я застрял на том, как на самом деле использовать оператор IN для случая, когда операция. Я хочу иметь возможность предоставлять несколько значений, где он имеет URL-адрес, а не одно. Возможно ли это?

Мой код следующий:

create temp table ag_table as 
   with sq AS(select id, business, 
   cat1, cat2, channel, call_reason, 
   COUNT(case cat1 when url then 1 else null end) 
   over (partition by subject 
order by 
time range between 604800 preceding
and current row) as count 
from table_name
where table_name.start >= start and table.end_time <= end
)

Чтобы заметить, я использую SQLite

1 Ответ

1 голос
/ 26 марта 2020

Это синтаксис выражения CASE:

COUNT(case when category1 IN (url1, url2, ...) then 1 end)

Нет необходимости в else null (ноль - это значение по умолчанию, когда больше нет). То же самое может быть достигнуто путем:

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