动态设置sql语句实现定制报表
准备做一个动态的可定制的报表查询工具。
一个表内储存定制的信息,字段名,及表名,及是否最大值,是否group等信息,格式如下:
CREATE TABLE [ItemSet] (
[itemno] [int] NOT NULL ,
[itemname] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[itemtablename] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[itemfieldname] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[isGrouped] [int] NULL ,--是否group
[isMaxed] [int] NULL ,--是否取最大
[isIncreased] [int] NULL --是否取差值
) ON [PRIMARY]
GO
或者说格式如下:
CREATE TABLE [ItemSet] (
[itemno] [int] NOT NULL ,
[itemname] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[itemtablename] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[itemfieldname] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[itemattrib] [smallint] NULL --0,1,2,3来表示字段的属性,是否取最大值,是否group等。
) ON [PRIMARY]
GO
大家提下意见哪种更合理一点。
还有,怎样处理这样的表可以取得想要的查询结果呢???
似乎一句sql已经处理不了了,请大家帮帮忙,提提意见,谢谢
------解决方案--------------------用视图或存储过程实现
------解决方案--------------------不知楼主想要什么结果
个人觉得第一种比较合理
------解决方案--------------------用存储过程拔
------解决方案--------------------个人感觉
第一种比较合理,直观. 如果想节省点空间,用2也是可以的,不过没必要
想要什么结果就不知道也
------解决方案--------------------USE pubs
GO
SELECT MAX(ytd_sales)
FROM titles
GO
Here is the result set:
-----------
22246
(1 row(s) affected)
差值就不知道了,视图,存储过程,函数,都可以吧