这是我之前提出的问题的第二部分,并且已经得到了答案。
在那里,我想统计每个月、每年的所有新客户。现在我想通过电子邮件地址实际查看谁是新人的列表(但我并不真正理解回答该问题的代码,所以我仍然对自己做这件事感到迷茫,更重要的是,确认它是正确的)。
理想情况下,结果将只是一列电子邮件地址。例如:
2011 年 6 月的新客户
Month
email1@abc.com
email2@def.net
email3@ghi.edu
如果做起来不太复杂,按月将它们分组也可以。意义...
2011年新客户
Jan Feb Mar
email1 email4 email7
email2 email5 email8
email3 email6 email9
...等等。不过,为了我能够尝试理解,我可能更喜欢一次只显示一个月的更简单的方法,哈哈。
标准非常简单:
- 2011 年 6 月首次下单的所有客户的列表。
- 从我的第一个问题开始:我知道“新客户”被定义为 (a)从未在 2011 年 6 月 1 日之前订购过的人,以及 (b)在 2011 年 6 月 1 日之后至少有一个订单的人。
我的表称为tblOrders。我的电子邮件称为电子邮件。日期是OrderDate。
请注意,更简单的代码对我来说更容易理解,除非在这里无法保持简单。这个查询对我来说似乎很直接......我明白了逻辑,但不知道如何实际去做!:(
如果您需要任何其他信息,请询问!谢谢!
编辑:如果它有帮助,我之前得到了这个人造代码,但它超出了我的范围。/哑的
SELECT <customer info>
FROM <customer table>
WHERE (SELECT COUNT(<order info>)
FROM <order table>
WHERE <customer info> = <current customer>
AND <date> < <target date>) = 0
AND (SELECT COUNT(<order info>
FROM <order table>
WHERE <customer info> = <current customer>
AND <date> > <target date>) > 0