我被要求找到2012年6月至8月以及2012年9月至10月期间购买的人。所以我这样做了。这个查询得到的结果对我来说看起来是正确的,当我检查出来。重复订单+订单数量和每个订单的总数
SELECT o.BillEmail
FROM dbo.tblOrder o
WHERE (SELECT COUNT(o2.OrderDate)
FROM dbo.tblOrder o2
WHERE o2.OrderID = o.OrderID
AND o2.OrderDate >= '2012-06-01' AND o2.OrderDate <= '2012-08-31') > 0
AND (SELECT COUNT(o2.OrderDate)
FROM dbo.tblOrder o2
WHERE o2.BillEmail = o.BillEmail
AND o2.OrderDate >= '2012-09-01' AND o2.OrderDate <= '2012-10-31'
AND o2.DomainProjectID=13) > 0
GROUP BY o.BillEmail
ORDER BY o.BillEmail
然后他们问我找订单总量中这两个时间段的每个客户放置,多少这些订单全部总计是。所以我刚刚添加了这些要求:
SELECT o.BillEmail, COUNT(o.OrderID) as Orders, SUM(o.Total) as 'Total'
FROM dbo.tblOrder o
WHERE (SELECT COUNT(o2.OrderDate)
FROM dbo.tblOrder o2
WHERE o2.OrderID = o.OrderID
AND o2.OrderDate >= '2012-06-01' AND o2.OrderDate <= '2012-08-31') > 0
AND (SELECT COUNT(o2.OrderDate)
FROM dbo.tblOrder o2
WHERE o2.BillEmail = o.BillEmail
AND o2.OrderDate >= '2012-09-01' AND o2.OrderDate <= '2012-10-31'
AND o2.DomainProjectID=13) > 0
GROUP BY o.BillEmail
ORDER BY o.BillEmail
但是,这只能从6月到8月的第一个指定时间段内下订单。所以它只显示从当时开始的订单和总计,而不是下半年。
我该如何获得它来拉两个时期的数据?
这看起来很棒,而且比我所要求的要多得多。我将不得不看看它包围我的头,哈哈/初学者 – ash
很高兴它为你工作,你在堆栈溢出在这里很好的公司。我们都是以初学者开始:) –
非常感谢! :d – ash