Я хочу использовать операторы IF
или CASE
при прохождении каждой записи для двух СОВМЕСТНЫХ SQL-запросов.
Каждый AccountID(AccountSDIF)
имеет свою собственную уникальную дату создания учетной записи и дату создания задачи учетной записи.Если count(AccountSDIF) =1
, тогда примените функцию datediff
между датой создания учетной записи и датой создания задачи учетной записи.Если count(AccountSDIF) > 1
, тогда примените функцию datediff
между датой создания учетной записи и датой создания первой задачи учетной записи.
Это мой запрос, чтобы получить счетчик AccountID(AccountSDIF)
SELECT
A_Std.AccountSFID
,COUNT(A_Std.AccountSFID) as Count
FROM [PSA].[Stg_Canonical_Task_Std] AS T_Std
LEFT JOIN [PSA].[Stg_Canonical_Account_Std] AS A_Std
ON T_Std.AccountID = A_Std.AccountSFID
INNER JOIN [PSA].[Stg_Canonical_Task_Custom] T_Cust
on T_Std.[TaskSFID] = T_Cust.[TaskSFID]
WHERE T_Cust.Activity_C IN ('Call', 'Email')
AND T_Std.Program_Name = 'DowWater'
AND T_Std.Status = 'Completed'
AND T_Std.AccountID IS NOT NULL
GROUP BY A_Std.AccountSFID
Количество учетных записей
Это мой запрос, чтобы получить дату создания учетной записи и даты создания задачи учетной записи.
select
(A_Std.CreatedDate) as AccountCreatedDate
,(T_Std.CreatedDate) as AccountsTaskCreatedDate
,A_Std.AccountSFID
from [PSA].[Stg_Canonical_Task_Std] AS T_Std
LEFT JOIN [PSA].[Stg_Canonical_Account_Std] AS A_Std
ON T_Std.AccountID = A_Std.AccountSFID
INNER JOIN [PSA].[Stg_Canonical_Task_Custom] T_Cust
on T_Std.[TaskSFID] = T_Cust.[TaskSFID]
WHERE T_Cust.Activity_C IN ('Call', 'Email')
AND T_Std.Program_Name = 'DowWater'
AND T_Std.Status = 'Completed'
AND T_Std.AccountID IS NOT NULL
Дата создания учетной записи и задача создания учетных записейдата