因为数据库的基础很差 老板又催的比较急 希望大家多多帮忙 多谢了先:目前的情况是由一个order表, 每一个order有一个order_id, 以及1至若干order_vari. order_id和order_vari共同组成主键, 每修改一次order, 产生一个新的order_vari
ok我要做的是收入报告, 我的query中, 选取那些状态为'提交'的order id和vari, 去查找另一个invoice表中与之对应主键的收据信息, 获得收据金额 从而达到目的今天发现的问题是, 因为我只查询状态为提交的order, 也就是合法order, 而实际上, 有些order在vari=1的时候被invoice过, 然后因为修改金额, 第一张order被改为非提交状态, 第二张order有同样的id, 不同的vari号, 状态为提交, 以及修改后的金额, 这样, 我的报告肯定会自动选择第二个也就是修改后的order, 这就造成order生成时间的不符, 举个例子1月 orderid=1 vari=1 被提交, invoice掉, 金额100
2月 orderid=1 vari=2 被提交,同时vari=1的那张状态变为非提交, 再次invoice掉, 金额150因为数据库设计已经完成 每次修改金额均为该笔order的当前余额, 而并非修改金额我的报告需要的效果是
1月 收入100, 2月 收入50描述的不到位 但愿大家能理解 并且给出一个查询设计思路 谢谢大家了
ok我要做的是收入报告, 我的query中, 选取那些状态为'提交'的order id和vari, 去查找另一个invoice表中与之对应主键的收据信息, 获得收据金额 从而达到目的今天发现的问题是, 因为我只查询状态为提交的order, 也就是合法order, 而实际上, 有些order在vari=1的时候被invoice过, 然后因为修改金额, 第一张order被改为非提交状态, 第二张order有同样的id, 不同的vari号, 状态为提交, 以及修改后的金额, 这样, 我的报告肯定会自动选择第二个也就是修改后的order, 这就造成order生成时间的不符, 举个例子1月 orderid=1 vari=1 被提交, invoice掉, 金额100
2月 orderid=1 vari=2 被提交,同时vari=1的那张状态变为非提交, 再次invoice掉, 金额150因为数据库设计已经完成 每次修改金额均为该笔order的当前余额, 而并非修改金额我的报告需要的效果是
1月 收入100, 2月 收入50描述的不到位 但愿大家能理解 并且给出一个查询设计思路 谢谢大家了
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
from order表 a