代码:
SqlCommand cmd = new SqlCommand("select 班级,sum(人数) as 人数 into ##临时表 from 班级资料 group by 班级", con);
SqlCommand cmd0 = new SqlCommand("select * from ##临时表 where 班级='一班'", con);
SqlDataAdapter sda0 = new SqlDataAdapter(cmd0);
DataSet ds0 = new DataSet();
sda0.Fill(ds0,"t");
int sum0 = Convert.ToInt32(ds0.Tables[0].Rows[0]["人数"]);
SqlCommand cmddro = new SqlCommand("drop table ##临时表", con);
1、直接运行,提示:对象名 '##临时表' 无效。
2、若先在sql数据库中运行:select 班级,sum(人数) as 人数 into ##临时表 from 班级资料 group by 班级,则能正常运行。
初步怀疑代码"select 班级,sum(人数) as 人数 into ##临时表 from 班级资料 group by 班级"没运行成功。
求各位高手指导。。。
谢谢~
我在sql中尝试过,运行“select 班级,sum(人数) as 人数 into ##临时表 from 班级资料 group by 班级”,然后再运行"select * from ##临时表", 出来结果是正确的。纠结啊。。。
我测试了你的问题,这样写就可以了,加一个;把另一个语句放在它后面。结果如下:
但是我不建议你用这种方式,原因:
你这样的话等于在SQL又建立了一张表,具体如下,你后面再这样写应该就会出现我下面的这个问题,XX零时表已经存在。
建议这样写
select 班级,sum(人数) as 人数 from 班级资料 where 班级='一班' group by 班级,直接搜索你想要的。
谢谢你,那我怎么才能读出这个sum(人数)这个结果呢?
其实我要建立这个临时表,目的是想sum统计后形成这个临时表,再从这个表中读取各个班级的sum值。如果无法形成临时表,我就无法得出这个sum值了。
select 班级,sum(人数) as 人数 from 班级资料 where 班级='一班' group by 班级
现在这个语句的结果等同于
select 班级,sum(人数) as 人数 into ##临时表 from 班级资料 group by 班级
加上
select * from ##临时表
那我如何获取的sum(人数)的值,例如要获取‘一班’的人数。
本回答被提问者和网友采纳