我这样做:
SELECT v.userIP, NumOfVisits, NumOfOrders, v.Date
FROM (
SELECT userIP, count(*) as NumOfVisits,
dateadd(dd, datediff(dd, 0, visitDate),0) as Date
FROM visits
GROUP BY userIP, dateadd(dd, datediff(dd, 0, orderDate), 0)) v
LEFT JOIN (
SELECT userIp, count(*) as NumOfOrders,
dateadd(dd, datediff(dd, 0, orderDate),0) as Date
FROM orders
GROUP BY UserIP, dateadd(dd, datediff(dd, 0, orderDate), 0)) o
ON o.UserIP = v.UserIP
AND o.Date = v.Date
和你的结果应该是这样的:
78.34.5.11 | 3 | 1 | 2009.10.06
78.34.5.19 | 9 | 0 | 2009.10.06
,如果你不通过USERIP需要组,你可以这样做:
SELECT NumOfVisits, NumOfOrders, v.Date
FROM (
SELECT count(*) as NumOfVisits,
dateadd(dd, datediff(dd, 0, visitDate),0) as Date
FROM visits
GROUP BY dateadd(dd, datediff(dd, 0, visitDate), 0)) v
LEFT JOIN (
SELECT count(*) as NumOfOrders,
dateadd(dd, datediff(dd, 0, orderDate),0) as Date
FROM orders
GROUP BY dateadd(dd, datediff(dd, 0, orderDate), 0)) o
ON o.Date = v.Date
您的结果将如下所示:
12 | 1 | 2009.10.06
您的订单和访问表如何链接到对方? – 2009-10-06 21:55:49
@Raj更多 - 这应该链接像这样︰orders.userIP = visits.userIP AND orders.dateadd(dd,datediff(dd,0,orderDate),0)= visits.dateadd(dd,datediff(dd,0, visitDate),0) – Novitzky 2009-10-06 22:14:42