本人要SQL语句动态创建3个视图,然后再由3个视图合并为一个,作为统计查询的结果。
现在的问题是视图的创建,举例:A视图由2个表(表tb1与表tb2)联合查询而成,表tb1为基本资料表,固定的,字段包括ITEM_CODE (代号),DES (名称)
ITEM_CODE DES
#001 塑胶1
#002 塑胶2
#003 塑胶3
。。表tb2则不固定是哪一个表,至于是那个表根据月份决定,要动态连接表。比如4月时是:ITEM004表,5月时是:ITEM005表类推
ITEM004表,ITEM005表,ITEM006表 的结构是不变的,只是数据不同。字段有ITEM_CODE,LOCATION(仓位),ChuNumber(数量)结构如下:
ITEM_CODE LOCATION ChuNumber
----------- ----------- -----------
#001 csp 400
#002 csp 300 假如要查找4月的数据,则这样创建视图,结果如上图:SELECT ITEM004.ITEM_CODE, ITEM004.LOCATION, ITEM004.ChuNumber
FROM tb1 INNER JOIN ITEM004 ON tb1.ITEM_CODE = ITEM004.ITEM_CODE页面上有一Dropdownlist控件,里面写明了4-12月,当用户选择不同的月份时,显示不同的数据,
怎么写SQL语句呢,请指教?
说明:我想直接用SQL语句不想要存储过程,因为我是直接绑定的,只需要创建4-12月的数据,能实现么?
现在的问题是视图的创建,举例:A视图由2个表(表tb1与表tb2)联合查询而成,表tb1为基本资料表,固定的,字段包括ITEM_CODE (代号),DES (名称)
ITEM_CODE DES
#001 塑胶1
#002 塑胶2
#003 塑胶3
。。表tb2则不固定是哪一个表,至于是那个表根据月份决定,要动态连接表。比如4月时是:ITEM004表,5月时是:ITEM005表类推
ITEM004表,ITEM005表,ITEM006表 的结构是不变的,只是数据不同。字段有ITEM_CODE,LOCATION(仓位),ChuNumber(数量)结构如下:
ITEM_CODE LOCATION ChuNumber
----------- ----------- -----------
#001 csp 400
#002 csp 300 假如要查找4月的数据,则这样创建视图,结果如上图:SELECT ITEM004.ITEM_CODE, ITEM004.LOCATION, ITEM004.ChuNumber
FROM tb1 INNER JOIN ITEM004 ON tb1.ITEM_CODE = ITEM004.ITEM_CODE页面上有一Dropdownlist控件,里面写明了4-12月,当用户选择不同的月份时,显示不同的数据,
怎么写SQL语句呢,请指教?
说明:我想直接用SQL语句不想要存储过程,因为我是直接绑定的,只需要创建4-12月的数据,能实现么?
这是过程或函数了吧,视图貌似 不支持这样如果非要这样,可以利用存储过程EXEC ('CREATE VIEW ......')没过感觉没必要
@month int
as
if isnull(@month,0)=0 return
declare @m varchar(2)
set @m=right(100+@month,2)
exec(
'SELECT ITEM0'+@m+'.ITEM_CODE, ITEM0'+@m+'.LOCATION, ITEM0'+@m+'.ChuNumber
FROM tb1 INNER JOIN ITEM0'+@m+' ON tb1.ITEM_CODE = ITEM0'+@m+'.ITEM_CODE
')
GO
--显示4月份的数据:
exec p_test 4