Что я хочу сделать, это запустить подзапрос из той же таблицы в одном запросе, мой SQL ниже:
SELECT
DATEPART(DAY, dateTimeCreated) AS DateClicked,
COUNT(*) AS NumClicks
FROM [dbo].[tbl_clicks]
WHERE 0 = 0
AND DATEPART(MONTH, dateTimeCreated) = 'GIVEN MONTH'
AND DATEPART(YEAR, dateTimeCreated) = 'GIVEN YEAR'
GROUP BY DATEPART(DAY, dateTimeCreated)
ORDER BY DATEPART(DAY, dateTimeCreated);
Прямо вперед, и это дает мне ТОЧНО то, что я хочу - количество кликов в каждый день данного месяца в данном году.
DateClicked | NumClicks
---+-------------+------------
1 | 102215
2 | 256415
3 | 241314
etc ...
Исходя из этого результата, я хочу выяснить, сколько из этих кликов попало в определенную категорию, то есть, сколько в социальные сети, сколько на электронную почту и т. Д. c. для КАЖДОГО дня (дневной итог, затем разбивка этого итога). Я могу получить это довольно легко, добавив еще один оператор AND к SQL,
AND clickType IN ( 'IDENTIFIER' )
, но это включает создание еще одного полного оператора; Я хочу получить эти результаты из одного запроса.
DateClicked | NumClicks | Social | Email | ...
---+-------------+--------------------------------
1 | 102215 | 38281 | 345 | ...
2 | 256415 | 12333 | 23 | ...
3 | 241314 | 44552 | 653 | ...
etc ...
Циклирование результатов на разных языках программирования дает мне желаемый результат, но это не самый эффективный способ. Я пробовал союзы и различные объединения, но не могу найти подходящее место для выполнения подзапроса.