为什么不加一个离场时间;会员id;进场;离场;三个字段一条数据;进来之后肯定会离开;业务上完全说的通
进场和离场是不是绝对是一一对应的?每个人在每个店每天的进场离场是不是最多只有一次?如果不能保证的话,建议还是用程序或者存储过程处理会更灵活方便
select *,t1.ActionTime 进场时间,t2.ActionTime 离场时间 form table as t1
inner join table as t2 on t1.id=t2.id
where t1.ActionType=1 and t2.ActionType=2
-----------------
上面sql只是个思路,可能会稍有不对的地方。
t1查询出会员的进场时间,t2查出会员的离场时间,根据会员的ID做关联,大意就是一个会员对应一个进场时间和一个离场时间,where的时候t1取ActionType=1表示进场时间,t2取ActionType=2表示离场时间,
显示的时候,t1.ActionTime 进场时间,t2.ActionTime 离场时间,这样分别显示应该就可以了。
SELECT a1.CustID,a1.ActionTime 入场时间,a2.ActionTime 离场时间 FROM (SELECT ActionTime,CustID FROM dbo.ActionTable WHERE ActionType=1) a1
INNER JOIN (SELECT * FROM dbo.ActionTable WHERE ActionType=2) a2 ON a1.CustID=a2.CustID