存储过程如下: declare @iTotalRPGroup int; select COUNT(*) from RPGROUPS_RPACCESS
WHERE ROUTEPOINTGROUPID = @RPGroup_ID
GROUP BY routepointgroupid, routepointid;
set @iTotalRPGroup = @@RowcountSELECT 'TRUE' AS ISGROUP, NULL AS DESTINATION, DESTINATIONTYPE, NAME_SCENARIO, DESCRIPTION
FROM VIEW_MODEDETAILGROUP
WHERE routepointgroupid = @RPGroup_ID
GROUP BY DESTINATIONTYPE, NAME_SCENARIO, DESCRIPTION
HAVING COUNT(*) > = cast(@iTotalRPGroup as varchar(255))
这个存储过程的输出结果如下
Results --这个是第一个SELECT的结果
1
1
1
...ISGROUP DESTINATION DESTINATIONTYPE NAME_SCENARIO DESCRIPTION --这个是第二个SELECT的结果
TRUE NULL AfterHrsMsg NULL After Hours
TRUE NULL EmergencyMsg NULL Evacuation
...我只想输出第二个SELECT的结果,应该如何修改这个存储过程?
换句话说:我在使用C#获取存储过程结果集,DataSet里看到Tables[0](第一个SELECT输出结果)和Tables[1](第二个SELECT输出结果).我只想在DataSet中只看到Tables[0], 即第二个SELECT的输出结果我希望修改这个存储过程,不是改C#程序,请大家帮我改改,先谢谢了
WHERE ROUTEPOINTGROUPID = @RPGroup_ID
GROUP BY routepointgroupid, routepointid;
set @iTotalRPGroup = @@RowcountSELECT 'TRUE' AS ISGROUP, NULL AS DESTINATION, DESTINATIONTYPE, NAME_SCENARIO, DESCRIPTION
FROM VIEW_MODEDETAILGROUP
WHERE routepointgroupid = @RPGroup_ID
GROUP BY DESTINATIONTYPE, NAME_SCENARIO, DESCRIPTION
HAVING COUNT(*) > = cast(@iTotalRPGroup as varchar(255))
这个存储过程的输出结果如下
Results --这个是第一个SELECT的结果
1
1
1
...ISGROUP DESTINATION DESTINATIONTYPE NAME_SCENARIO DESCRIPTION --这个是第二个SELECT的结果
TRUE NULL AfterHrsMsg NULL After Hours
TRUE NULL EmergencyMsg NULL Evacuation
...我只想输出第二个SELECT的结果,应该如何修改这个存储过程?
换句话说:我在使用C#获取存储过程结果集,DataSet里看到Tables[0](第一个SELECT输出结果)和Tables[1](第二个SELECT输出结果).我只想在DataSet中只看到Tables[0], 即第二个SELECT的输出结果我希望修改这个存储过程,不是改C#程序,请大家帮我改改,先谢谢了
解决方案 »
- 定义一个整数,并按整数大小生成一个数据表,表的行数为整数,其中一列为行号
- 一个表中的字段等于另一个表中的字段 出错
- 请问在SQL Server 2005 中是如何知道一条SQL 语句运行多长时间(毫秒,不是右下方的显示多少秒)、 CPU 运行率 等等运行信息
- ???急 求助 sql
- SQL 语句求助
- SQL语句:点击数总和达到100000的ID是多少
- 再开一帖,想调临时表
- 复杂的SQL查询!急!!!!!!!!!!!!!!!!!
- 高手帮帮忙啊,触发器可以实现数据库复制嘛?
- sql server 2008 数据库管理器中找不到MSSQLSERVER
- 如何写一段后台定时自动运行程序
- 多表连接查询为什么相邻的结果要相乘,有没有什么办法不让他相乘
我用的是E版SQL 2008
有两个Tab:Result和Messages
Result内容显示如下:
1
1
1
... ISGROUP DESTINATION DESTINATIONTYPE NAME_SCENARIO DESCRIPTION
TRUE NULL AfterHrsMsg NULL After Hours
TRUE NULL EmergencyMsg NULL Evacuation
... Return Value
0
select COUNT(*) from RPGROUPS_RPACCESS
WHERE ROUTEPOINTGROUPID = @RPGroup_ID
GROUP BY routepointgroupid, routepointid;
的输出
-- 不知道你的业务需求,只能试着写一个
-- 这个是 @iTotalRPGroup 获得上条语句影响的行数,按你的原句写的。
declare @iTotalRPGroup int, @c int;
select @c=COUNT(*) from RPGROUPS_RPACCESS
WHERE ROUTEPOINTGROUPID = @RPGroup_ID
GROUP BY routepointgroupid, routepointid;
set @iTotalRPGroup = @@Rowcount
-- 或者, @iTotalRPGroup 获得符合查询条件的行数
declare @iTotalRPGroup int;
select @iTotalRPGroup=COUNT(*) from RPGROUPS_RPACCESS
WHERE ROUTEPOINTGROUPID = @RPGroup_ID
GROUP BY routepointgroupid, routepointid;
我需要返回一个result list,关键是如何改写-> 取@@rowcount的这个中间过程这个方法我试过了,
declare @iTotalRPGroupint;
select @iTotalRPGroup=COUNT(*) from RPGROUPS_RPACCESSWHERE ROUTEPOINTGROUPID=@RPGroup_IDGROUPBY routepointgroupid, routepointid;和declare @iTotalRPGroupint;
select COUNT(*)from RPGROUPS_RPACCESSWHERE ROUTEPOINTGROUPID=@RPGroup_IDGROUPBY routepointgroupid, routepointid;
set @iTotalRPGroup= = @@rowcount的结果是不一样的.我尝试print出@iTotalRPGroup这个变量
第二种情况:@@rowcount的结果得到是上面这个Group by SQL的记录数,
而第一种情况得到的结果是1,请看我1楼的数据返回结果
本来我是在C#论坛提问的.但是经过分析以后发现我应该改写存储过程,所以才到这里又发了个帖子,
也请看看这个帖子,不知道大家能明白不?
http://topic.csdn.net/u/20091127/06/5c152e5a-c6d0-49ea-8ae0-fe2ab0bfff04.html