为什么现实应用会有这么多计算机很难解决的问题,至少我是这么认为的!(15分)

  • 主题发起人 主题发起人 freesoft
  • 开始时间 开始时间
F

freesoft

Unregistered / Unconfirmed
GUEST, unregistred user!
内容是这样的:
票据管理
如一张票内容是这样的
id dj pmj xsj sj
1000 20 100 120 2001-3-8
1001 40 300 400 2001-3-8
...
分别表示id,底价,票面价,销售价,销售时间
现在要求有时会出现价格调整的操作,就是
2001-3-9日,我要求调整价格,现在1000这条记录的内容我
1000 -10 -20 -50
2001-3-10日,要求调整价格
1000 -5 -5 -5
所以我在销售表以外做了一个表调整利润表,可是调整利润可能会有多种,
就产生了,多条1000的记录,
结算时要求把1000这张票的所有记录进行累加,好象很难实现啊!
不知道有没有朋友,做过类似的东西,希望给点建议,给点思路,分数实在有限
希望多一些雷锋。


先谢谢各位了!
 
为什么不能直接修改数据
是要保存历史纪录吗?
 
直接修改不符合财务要求,
财务要求每天结帐,要求不能动先前的记录,否则怎么管理呢?
那是财务的要求,我也没办法,不象我们相信的那样,直接修改多便当!
 
我还没理解要怎么算呢:)
 
SELECT sum(dj),... FROM table WHERE id=1000
 
create view price as
select id,sum(dj),sum(pmj),sum(xsj) from priceRecord
group by id


btw: 如果你再用这种字段命名方法,我就再也不回答了。
用英文please.
 
切。这问题难吗?
搞个Master/Detail结构不就结了?
 
我也没理解到底要怎么算。好像回答者的理解都不一样。请再说清楚一些。
 
先谢谢大家,好象大家的理解有点问题,
我现在要求产生的报表是这几条记录的和。
就是销售表中的记录1000,加调整利润表中的记录1000
最后在报表中仅出现一条1000。
 
请给出详细例子。
 
用Master/Detail结构可以实现,不难吧。
 
什么数据库?
 
就是一个销售,结算过程。
销售一张票据后,可能各个价格会调整,比如什么文件发了,什么精神提了
就要调整价格,而会计要求是做几次调整,就象多次销售。
因此我只好建了另外的一张表,利润调整表,希望这样能够实现要求。
我以前还以为只要挑整一次就可以了,现在的要求是多次调整,
产生的报表只有一条1000,
而这条1000的价格是几条的和。
所以,我现在没有办法了。
 
对不起,不怎么了解数据库。:(

我基本不写数据库的程序,公司有专门的数据库项目组。
 
TO pipi:
sqlserver 7
 
根据我的理解,数据库设计如下:
价格基表(ID,dj,pmj,xsj)
出售价格(ID,价格基表ID,dj,pmj,xsj,sj) '根据调价得到调价后的价格
销售表(ID,出售价格ID,...)

你的例子:
价格基表
ID dj pmj xsj
1000 20 100 120

出售价格
ID 价格基表ID dj pmj xsj sj
123 1000 20 100 120 2001-3-8
124 1000 10 80 70 2001-3-9
125 1000 15 95 115 2001-3-10

销售表
ID 出售价格ID .....
5 123
6 125
 
sql7? 用存储过程吧!
我的理解:
第一条为基本记录,以后又生成不定数量的记录。
如是则用我的笨办法:
先select * into #temp from table where id = 1000
再select sum(a) as a ,sum(b) as b .... from temp
则 a , b ....应该是你想要的数据吧!
 
还看懂什么意思!
 
没有人再回答这个问题了吗?
其实我知道肯定有答案的!
可是我已经想了几天了。
 
没有什么问题吧,
你原先的表保留,再开一张表用于记录前一张表中票的价格变化情况,可以有多条记录.即前
一张基本价格的表中的一条记录可以对应价格调整表中的多条记录.再生成报表时只要使用
一个Sql查询就可以解决你的问题.就是说,你并不需要记录你的最后实际销售价格,这是可以
通过前面两个表计算出来的.这个Sql语句你应该没有问题吧.
 
后退
顶部