我正在尝试升级一个旧的自定义电子商务系统。我试图根据旧的自定义系统创建的表(称为“old_table”)中的行来记录对项所做的数量更改。我似乎无法解决这个问题。
当某人开始更改系统中的某个项时,它会在“old_table”中创建一条记录,其中包含以下值:
Time | User | Current Qty | Status | Item
-----------------------------------------------------------
2015-07-09 05:30:47 | Admin | 10 | Start | ABC 1
当此人完成更改系统中某个项目的数量时,将在“old_table”中创建一条记录,其中包含以下值:
Time | User | Current Qty | Status | Item
-----------------------------------------------------------
2015-07-09 05:50:47 | Admin | 09 | End | ABC 1
---注意:很遗憾,如果数量设置为“00”,则不会有“结束”条目。我猜我会设置一个24小时的限制,然后考虑用户将其设置为“00”---
我的目标
在一个新表中,我试图创建一个行,说明用户“admin”减去/添加了项目“abc 1”的总计“x”,如果在24小时内“old_table”中没有“end”行,则给定项目将生成一个行,说明用户“admin”将值设置为“00”。
有人有什么想法、建议或解决办法吗?我已经试了好几个星期来解决这个问题了。不可能吗?
最佳答案
你用mysql和sql server标记了这个。哪个系统/版本正在使用?
使用SQL Server(>=2008),您可以使用窗口函数(over子句:https://msdn.microsoft.com/en-us/library/ms189461.aspx),该函数提供分组计数、求和、平均值和其他聚合函数。
关于php - 如何根据值比较SQL行并获得总和?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31335158/