存储过程1
CREATE PROC ProStateAllSource
(
@BeginDate DATETIME,
@EndDate DATETIME
)
AS
SELECT
ChanlInfoTab.ChannelID,
ChanlInfoTab.ChannelName,
COUNT(ResumeInfoTab.ResumeID) AS CountNum (差别)
FROM
ResumeInfoTab,ChanlInfoTab
WHERE
UpdateTime>@BeginDate
AND UpdateTime<@EndDate
AND ResumeInfoTab.ChannelID=ChanlInfoTab.ChannelID
GROUP BY ALL ChanlInfoTab.ChannelID,
ChanlInfoTab.ChannelName
GO存储过程2
CREATE PROC ProStateAllSourceA
(
@BeginDate DATETIME,
@EndDate DATETIME
)
AS
SELECT
ChanlInfoTab.ChannelID,
ChanlInfoTab.ChannelName,
COUNT(ResumeID) AS CO (差别)
FROM
ResumeInfoTab,ChanlInfoTab
WHERE
UpdateTime>@BeginDate
AND UpdateTime<@EndDate
AND ResumeInfoTab.ChannelID=ChanlInfoTab.ChannelID
AND StateID=4 (差别)
GROUP BY ALL ChanlInfoTab.ChannelID, ChanlInfoTab.ChannelName
GO传入的参数是一样的,我的想法是在一个DataGrid里面装进这两个存储过程的数据,
两个存储过程的数据条数 和 以及前两个字段的记录也一定是一样的,
就是一个查询字段不一样,那也是因为查询条件不一样.
其他的实现方法也行,只要能帮我解决问题,两个存储过程只是我的一个思路多谢啦!
问题解决了加分
CREATE PROC ProStateAllSource
(
@BeginDate DATETIME,
@EndDate DATETIME
)
AS
SELECT
ChanlInfoTab.ChannelID,
ChanlInfoTab.ChannelName,
COUNT(ResumeInfoTab.ResumeID) AS CountNum (差别)
FROM
ResumeInfoTab,ChanlInfoTab
WHERE
UpdateTime>@BeginDate
AND UpdateTime<@EndDate
AND ResumeInfoTab.ChannelID=ChanlInfoTab.ChannelID
GROUP BY ALL ChanlInfoTab.ChannelID,
ChanlInfoTab.ChannelName
GO存储过程2
CREATE PROC ProStateAllSourceA
(
@BeginDate DATETIME,
@EndDate DATETIME
)
AS
SELECT
ChanlInfoTab.ChannelID,
ChanlInfoTab.ChannelName,
COUNT(ResumeID) AS CO (差别)
FROM
ResumeInfoTab,ChanlInfoTab
WHERE
UpdateTime>@BeginDate
AND UpdateTime<@EndDate
AND ResumeInfoTab.ChannelID=ChanlInfoTab.ChannelID
AND StateID=4 (差别)
GROUP BY ALL ChanlInfoTab.ChannelID, ChanlInfoTab.ChannelName
GO传入的参数是一样的,我的想法是在一个DataGrid里面装进这两个存储过程的数据,
两个存储过程的数据条数 和 以及前两个字段的记录也一定是一样的,
就是一个查询字段不一样,那也是因为查询条件不一样.
其他的实现方法也行,只要能帮我解决问题,两个存储过程只是我的一个思路多谢啦!
问题解决了加分
解决方案 »
- 为什么gridview总是显示不出表中第一条数据?!!求助!!
- VSS管理开发时候 找不到SQL SERVER
- ASP.NET未能找到任何适合于指定的区域性或非特定区域性的资源
- 在虚拟主机上,每天早上03:00执行一个任务
- form验证的问题
- 水晶报表问题?BC30389: “C”是“Private”,因此它在此上下文中无法访问
- 关于session的一个真实的问题,向思归、孟子、webdiyer以及诸位等高手求教,100分!!
- 可以用可视化的方式给TreeView添加节点,为什么用编程方式却找不到TreeView这个类?
- 求解 读取数据库字段计算并批量写入数据库(字段为加密字段)
- 请教高手:关于masterdetail的问题?
- 很奇怪的"未将对象引用设置到对象的实例"问题,应该挺简单的
- 如何抓取这个里面的内容呢?
CREATE PROC ProStateAllSource
(
@BeginDate DATETIME,
@EndDate DATETIME,
@Type bit
)
ASdeclare @SQLStr varchar(2056)set @SQLStr='SELECT
ChanlInfoTab.ChannelID,
ChanlInfoTab.ChannelName,
COUNT('
if @Type=0
set @SQLStr=@SQLStr+'ResumeInfoTab.ResumeID) AS CountNum'
else
set @SQLStr=@SQLStr+'COUNT(ResumeID) AS CO'
set @SQLStr=@SQLStr+' FROM ResumeInfoTab,ChanlInfoTab WHERE '
set @SQLStr=@SQLStr+'convert(varchar(20),UpdateTime,112)>'+char(39)+convert(varchar(20),@BeginDate,112)+char(39)
set @SQLStr=@SQLStr+' and convert(varchar(20),UpdateTime,112)<'+char(39)+convert(varchar(20),@EndDate,112)+char(39)
set @SQLStr=@SQLStr+' and ResumeInfoTab.ChannelID=ChanlInfoTab.ChannelID'
if @Type=1
set @SQLStr=@SQLStr+' and StateID=4'
set @SQLStr=@SQLStr+' GROUP BY ALL ChanlInfoTab.ChannelID, ChanlInfoTab.ChannelName'exec(@SQLStr)
http://www.onlinedatabase.cn/Article_Show.asp?ArticleID=2251
(
@BeginDate DATETIME,
@EndDate DATETIME,
@Type bit --0:表示是你存储过程1,1:表示你存储过程2
)
ASdeclare @SQLStr varchar(2056)set @SQLStr='SELECT
ChanlInfoTab.ChannelID,
ChanlInfoTab.ChannelName,
COUNT('
if @Type=0
--存储过程1与存储过程2相区别部分
set @SQLStr=@SQLStr+'ResumeInfoTab.ResumeID) AS CountNum'
else
--存储过程2与存储过程1相区别部分
set @SQLStr=@SQLStr+'COUNT(ResumeID) AS CO'
--下面这部分是两个过程相同的部分,日期在动态存储过程中必须转换成字符串来比较,风格112生成
--YYYYMMDD格式的日期字符串
set @SQLStr=@SQLStr+' FROM ResumeInfoTab,ChanlInfoTab WHERE '
set @SQLStr=@SQLStr+'convert(varchar(20),UpdateTime,112)>'+char(39)+convert(varchar(20),@BeginDate,112)+char(39)
set @SQLStr=@SQLStr+' and convert(varchar(20),UpdateTime,112)<'+char(39)+convert(varchar(20),@EndDate,112)+char(39)
set @SQLStr=@SQLStr+' and ResumeInfoTab.ChannelID=ChanlInfoTab.ChannelID'
if @Type=1
--存储过程2与存储过程1相区别部分
set @SQLStr=@SQLStr+' and StateID=4'
set @SQLStr=@SQLStr+' GROUP BY ALL ChanlInfoTab.ChannelID, ChanlInfoTab.ChannelName'--以以这句是测试语句(正式用的把它删除),打印出动态生成的SQL语句,
--只有在查询分析器中执行才能显示
print @SQLStr--以下这句执行动态生成的SQL语句
exec(@SQLStr)
exec ProStateAllSource '2005-7-30','2005-7-30',0
或
exec ProStateAllSource '2005-7-30','2005-7-30',1
其中具体日期根据你的情况修改
在"消息"选项卡中看生成的SQL语句
-------------------------------------------------------------------------------
或者把你两个表的SQL脚本贴出来,我帮你调试一下