对于商店,我有一个访问次数的表格,如下所示:
Id Timestamp UniqueUser IsTrans
1 2011-01-31 5874 True
2 2011-01-30 1238 True
3 2011-01-29 8547 True
4 2011-01-28 5874 False
5 2011-01-27 1238 True
6 2011-01-26 1238 True
7 2011-01-25 5874 False
8 2011-01-24 1238 True
9 2011-01-23 1238 True
10 2011-01-22 5874 True
... ... ... ...
此外,我还有交易表,其中包含交易信息。看起来像这样:
Id Visit_Id OrderPrice
1 1 100
2 2 100
3 3 100
4 5 100
5 6 100
6 8 100
7 9 100
8 10 100
... ... ...
我想获取导致交易的唯一用户的访问列表以及导致交易的访问(同一个唯一访问者)的访问。例如,对于第一个交易,我想要获取包含这些访问的列表
Id Timestamp UniqueUser IsTrans
1 2011-01-31 5874 True
4 2011-01-28 5874 False
7 2011-01-25 5874 False
我已经成功完成了这样的2个查询:
var transList = _session.QueryOver<Transaction>().Left.JoinAlias(x => x.visit, () => visitAlias).Where(() => visiteAlias.UniqueId == trans.visit.UniqueId && visit.Timestamp < trans.trackingCookie.Timestamp).Take(1).ToList();
var listvisit =
_session.QueryOver<Visit>().Where(
x =>
x.Timestamp <= trans.visit.Timestamp &&
x.Timestamp > transList[0].visit.Timestamp && x.UniqueId == trans.visit.UniqueId).OrderBy(x=>x.Timestamp).Desc().Future().ToList();
其中 trans 是第一个交易。如您所见,我找到同一用户的最后一笔交易的时间戳,然后我获取列表。
有没有办法只在一个查询中获取此列表?
提前感谢您,并对帖子的篇幅感到抱歉