我有两个表分组的记录:COUNT(*)按日期横跨两个表
emailLog表:
email sendTime sourceTag
-------------------------------------------------------
[email protected] 2016-11-17 09:14:37.213 WelcomeEmail
[email protected] 2016-11-16 09:14:37.213 WelcomeEmail
[email protected] 2016-11-15 09:12:33.213 WelcomeEmail
注册表:
email dateRegistered regSource
-------------------------------------------------------
[email protected] 2016-11-17 09:14:37.213 WelcomeEmail
[email protected] 2016-11-16 09:14:37.213 WelcomeEmail
[email protected] 2016-11-15 09:12:33.213 WelcomeEmail
我试图执行联合查询,以显示在给定日期收到电子邮件的人与COUNT()的COUNT()比较德隆谁已登记在给定日期
我已经尽量得到就象这样:
SELECT
CONVERT(varchar(10), sendTime, 120) as date,
COUNT(*) as numberSent
FROM emailLog
WHERE sourceTag = 'WelcomeEmail'
AND
sendTime BETWEEN '20161110' and '20161120'
GROUP BY
CONVERT(varchar(10), sendTime, 120)
ORDER BY DATE ASC;
,给了我一个特定sourceTag发送的电子邮件的列表,通过日期分组:
DATE NUMBERSENT
2016-11-17 256
2016-11-18 136
2016-11-19 40
2016-11-20 118
2016-11-21 186
但我无法弄清楚如何加入注册的总和与来源,日期+,如:
DATE NUMBERSENT MEMBERSREGISTERED
2016-11-17 256 12
2016-11-18 136 24
2016-11-19 40 13
2016-11-20 118 2
2016-11-21 186 11
我曾试图做类似...
SELECT
(SELECT count(*) from emailLog)
as emailLogResults,
(select count(*) from registrations)
as registrationResults
...
但是我被卡住之后。非常感谢的任何帮助
我删除了不兼容的数据库标签。请标记您真正使用的数据库。 –