Добавить фильтр if / else - PullRequest
       20

Добавить фильтр if / else

0 голосов
/ 04 сентября 2018

У меня есть следующий скрипт:

SELECT * 
FROM (
          SELECT distinct web_product_source_id, recipe_id,  cos_score,
                row_number() over (partition by web_product_source_id order by cos_score desc) as rnk 
          FROM (
                    SELECT  web_product_source_id, recipe_id, max(cos_score) cos_score
                    FROM edw_sandbox.combined_with_product_details_ouput_cleaned
                    WHERE web_supercat_source_id = 'cookware'
                    GROUP BY 1,2
                ) a
    ) b
WHERE rnk <= 20
ORDER BY web_product_source_id, rnk;

Я хочу добавить оператор if else в оператор "WHERE". Я хочу, чтобы данные занимали первые 20 или 40 лучших, если идентификатор web_product_source_id содержит любое из следующих терминов («кухонная посуда», «набор» и т. Д.)

Кодекс Судо:

if 'set' or 'cookware' in web_product_source_id id: pull top 40 ranks
else: pull top 20 ranks and cos_score >= .7
...