|
主题: 头痛的问题,这个表结构应该如何设计?
|
不是高手
职务:普通成员
等级:3
金币:5.0
发贴:1352
|
#12004/11/19 10:38:28
公司要做一个资产及负债报表,涉及报表项目有140多个
我用SQL SERVER做了个表(eg:tab_obj)把这些项目都输进去了,然后从库里动态读出所有这些项目。现在要添加这些项目的数值,所以又做了个值表(eg:tab_objvalue),把值输进去,然后表每条纪录有tab_obj的ID和该项目的输入值。
不过头疼的事情来了,有些项目的值是不定的,是计算其他某些项目的值的加和或者加加减减,这个该怎么办?是不是这个表结构设计的有问题?
高人指点指点,谢谢了!
|
蓝鲸
职务:版主
等级:5
金币:42.1
发贴:2614
|
#22004/11/19 11:28:28
你可能是这样意思吧,即一个表添加进所有项目的记录,而每个项目均有一个或多个需要输出的数据记录。每个项目只输出一个记录则较好办,但多个记录就有些麻烦了。
我以前做过这样一个查询,一个仓库表,动态添加仓库(仓库记录不是固定的,可能2个,也可能5个),要求查询每个仓库中,每种商品的库存。所以设计了个表,把每个仓库的仓库名作为一个字段,而以每种商品作为记录。
首先是查询仓库表,得到仓库ID及名称,然后用一个循环生成SQL语句 sql = "SELECT ProductID, ProductName " for (int i = 0; i < arrayStockName; i++) { sql += "," sql += "( SELECTT SUM(UnitsInStock) From Stock " + " WHERE ....." + " GROUP BY.... )" } sql += " FROM Product WHERE.....";
试了一下,速度中等,但比一个一个查询肯定要快了。
非常大鱼
|
不是高手
职务:普通成员
等级:3
金币:5.0
发贴:1352
|
#32004/11/19 13:04:00
情况是这样的:
页面内容: 项目 ——值 项目1——2 项目2——3 项目3——4 项目4——5 项目5——?
其中项目1-5这些标题是从tab_obj里读出来的,现在页面上要填写这些项目的值,然后提交到tab_objvalue表里,这个表里存储的是项目名称的ID(关联tab_obj)及值,但是情况是项目5的值可能是1+2+3的和,也可能是1+2-4的值,这样就搞的没方向来……
|
蓝鲸
职务:版主
等级:5
金币:42.1
发贴:2614
|
#42004/11/19 14:40:24
tab_obj中应该设计项目的ID了吧,这是必须的,可以关联到其它表。如果没有设计,请一定设计好。这样就可以不用担心是项目5学项目6的外面显示了,只要知道该项目的ID号,在tab_objvalue中插入数据: sql ="UPDATE tab_objvalue SET Objvalue=" + strvalue + " WHERE ObjectID=" + strID;
非常大鱼
|