У нас есть 2 таблицы Lead и Task. Один вывод может иметь несколько задач. Мы хотим определить, есть ли у Лида Задание, в описании которого содержится Строка 'x'.
Если у Лида есть Строка, он должен принадлежать к группе1, если нет к группе 2.
Затем мы хотим подсчитать количество потенциальных клиентов по группе и неделе. Проблема, с которой мы столкнулись, заключается в том, что если у Лида есть несколько задач, и у одной из них в описании есть строка «x», а у других ее нет, она учитывается в обеих группах.
Нам нужно что-то, похожее насломать;оператор в предложении IFF подзапроса, так что если первое условие = содержит строку x, остальные задачи больше не учитываются. Как бы мы этого достигли?
Пока у нас есть следующее утверждение: --SQL:
SELECT LeadDate, GROUP, COUNT(LEAD_ID_T1)
FROM LEAD Lead INNER JOIN
(SELECT DISTINCT LEAD.ID AS LEAD_ID_T1,
IFF(CONTAINS(Task.DESCRIPTION,
'x'),
'GROUP1',
'GROUP2') AS GROUP
FROM TASK Task
RIGHT JOIN LEAD ON TASK.WHO_ID = LEAD.ID
) T1 ON T1.LEAD_ID_T1 = LEAD.ID
GROUP BY LeadDate,GROUP;
Разрывы кода, потому что он не может агрегировать меры.
Действительноблагодарен за любой вклад. Это беспокоило меня уже несколько дней.