Я пытаюсь увеличить ячейку в строке для каждого «флажка», равную «2».
Чтобы быть более точным c, у меня есть таблица, которая содержит customer_numbers и соответствующие группы продуктов, которые можно пометить как {0: «продукт никогда не использовался», 1: «неактивен», 2: «активен»}
Таким образом, имена моих столбцов выглядят так {customer_no, GRP1, GRP2, GRP3 , GRP4, GRP5 и есть еще один столбец, который я создаю, чтобы он считался как GROUP_ACTIVE_COUNT}
Для каждого клиента я хочу подсчитать, сколько групп product_group они активны.
В качестве примера:
- GRP1 клиента 1: 1 GRP2: 2 GRP3: 0 GRP4: 1 GRP5: 2 ----> GROUP_ACTIVE_COUNT будет равно 2
GRP1 клиента 2: 2 GRP2: 2 GRP3: 0 GRP4: 1 GRP5: 2 ----> GROUP_ACTIVE_COUNT будет равно 3
GRP1 клиента 3: 2 GRP2: 2 GRP3: 2 GRP4: 2 GRP5: 2 ----> GROUP_ACTIVE_COUNT будет равно 5
GRP клиента 4: 1 GRP2: 1 GRP3: 1 GRP4: 1 GRP5: 1 ----> GROUP_ACTIVE_COUNT будет равно 0
GRP1 клиента: 0 GRP2: 0 GRP3: 0 GRP4: 0 GRP5: 0 ----> GROUP_ACTIVE_COUNT будет равно 0
Вот что я сделал до сих пор:
SELECT
CUST_NO
,GROUP_ACTIVE_C
,GROUP_ACTIVE_COUNT
,CASE
WHEN GRP1 = 2 THEN --DO SOMETGING LIKE GROUP_ACTIVE_COUNT = GROUP_ACTIVE_COUNT+1
WHEN GRP2 = 2 THEN --DO SOMETGING LIKE GROUP_ACTIVE_COUNT = GROUP_ACTIVE_COUNT+1
WHEN GRP3 = 2 THEN --DO SOMETGING LIKE GROUP_ACTIVE_COUNT = GROUP_ACTIVE_COUNT+1
WHEN GRP4 = 2 THEN --DO SOMETGING LIKE GROUP_ACTIVE_COUNT = GROUP_ACTIVE_COUNT+1
WHEN GRP5 = 2 THEN --DO SOMETGING LIKE GROUP_ACTIVE_COUNT = GROUP_ACTIVE_COUNT+1
,GRP1
,GRP2
,GRP3
,GRP4
,GRP5
FROM XSELL_DATAMART
Моя основная проблема заключается в том, что я не могу создать переменную в SQ LITE, чтобы я мог получить в нее +1 и сохранить ее в каждую соответствующую строку: (