比如表中有五个单位:1,2,3,4,5
还有10个反馈对像单位:一,二,三,四,五,六,七,八,九,十
然后我要做一张WEB的汇总表,表的竖列为五个单位,行为10个反馈对像,每一个单元格则是反馈内容。
最笨的方法:select * from 表名 where(year1='2006' and dw='1' and fk='一') 然后在第一行第一列的单元格里填入结果。
这样一来就要写50个SQL语句,生成50个对像。天,这是杀手程序了。。。。
如果使用select * from 表名 where(year1='2006' and dw='1'),然后用数据指针循环,把这10条记录一个记录一个记录的循环写出来,但问题是我的WEB表是固定格式的,和数据库里的顺序并不一样。
我记得SQL语句中好像有一个语法是对查询后生成的对集合进行筛选的,就是对这10条记录按筛选条件取一条记录。但不记得怎么写,书上也没找到。
换而言之就是对SQL生成的结果对像集合进行二次查询。
比如:select * from 表名 不写条件,那么会生成很多条记录。
在这个记录集合中,我要筛选出 字段=1 and 字段=2的记录。
补充:
字段一:单位 (有五个单位1、2、3、4、5)
字段二:反馈单位(有十个单位一~十)
然后我要生成一张WEB表,表的列是单位,表的行是反馈单位,每一个单元格是反馈内容
我不想使用:select * form 表名 where 单位=X and 反馈单位=Y的写法,因为这样要生成那个WEB表,要写50个SQL语句。
如果使用 select* form 表名 where 单位=X的写法,用指针循环的办法,读出的顺序和我的WEB表内容的排序又不一样。
如何才能把SQL查询出的结果集合再进行筛选?
问题补充二:
答XHBGQ 表结构是这样的。
单位 反馈单位 反馈内容 年份 月份
办公室 X公司 XXX 2006 11
办公室 Y公司 XXX 2006 11
行政科 X公司 XXX 2006 11
。。。
单位有五个,反馈单位有10个。每个反馈单位都可以向这5个单位发反馈意见。也就是说可以有50个反馈意见。
我要用WEB页作一张反馈汇总表。
样子如下:
办公室 行政科 XX科 XX科 XX科
X公司
Y公司
Z公司
。。。
中间的就是反馈的内容
我现在问题就是我不想写50个SQL语句把结果一个个填进单元格
又不能用循环语句,因为循环出的顺序和WEB表有不同。
ASP中对SQL语句查询结果进行二次筛选
sql = "declare @sql varchar(4000) set @sql = 'select 反馈单位' select @sql = @sql + ',max(case 单位 when '''+单位+''' then 反馈内容 end) as '+单位 from (select distinct 单位 from XHBGQ) as a set @sql = @sql+' from XHBGQ group by 反馈单位' exec(@sql)"rs....
sql 双重查询排序的问题,请高手解决!
想了想没什么好的方法,下面是一种笨方法,就是分两次来查询。第一次先把state=2 和4的查询出来显示在前面,接着在后面继续查询。select * from stable where classid=5 and state=2 or state=4 order by time desc select * from stable where classid=5 and state<>2 or strte<>4 orde...
ASP 搜索,如何进行(双重条件)排序?
order by 列名1 desc,列名2 asc,列名3 就这种形式想用多少用多少,但列名序表中必须要select中选中,也就是说select 列名1,列名2时,你只能用列名1和列名2进行排序,DESC是降序,ASC是升序,不写的则表示采用默认(升序)。就算是使用权EXECL的人对表进行处理时还会排序。第一排序,选列,升降低...
asp IF判断结果执行不同查询
'id=1表示是超级管理员,查询所有的管理员 if id=1 then sql="select * from Admin"else sql="select * from Admin where Username='"&Request("Username")&"'"end if
ASP 查询MSSQL表的时候怎么分类结果...
CREATE TABLE [test] ([jid] [int] NULL,[jtime] [datetime] NULL)--测试表 --如果真要 一下返回一个结果集的话 --两张一起查 查了之后,union一下。--希望楼下的朋友还有更好的方法。--假设今天是2006-07-07 select count(jid) from test where jtime = '2006-07-07'union sele...
ASP将SQL查询结果写入到另一个表
确定是第一个值是吧!那就用下面语句~~insert into first(name,hit) values(select top 1 bname,whit from user order by id)想要一天执行一次的话,你可以写个bat文件。运行bat文件的时候执行下你的页面。然后做个任务计划,每天什么时候运行下。又或者你可以直接用winfrom 编程。编写一个软件来...
asp执行sql语句返回结果
你在下面可以这样写:set rs=server.CreateObject("adodb.recordset")sql="select * from table1"set rs=conn.execute(sql)do while not rs.eof response.write rs("字段名")rs.movenext loop
ASP中SQL的select问题
LZ您好,首先:请注意正确的sql语句为:select top 6 * from book \/\/请注意空格 其次,在asp网站编程技术里,想要将数据库中查询到的内容返回给页面,是需要使用ado对象(也就是操纵数据库的类)的,当然同时要与vbscript脚本相配合 一个简单的实例如下:< Set conn = Server.CreateObject("ADODB....
sql语句在SQL执行中可以执行并返回正确结果,但是在ASP中执行,虽然没...
select distinct bigclass from type where bid in (select bid from type where third<>'' order by bid,sid,tid)这样试试,选择某个id然后在用where语句关联~~~
asp 从数据库中查询的结果假如有6条数据。如何循环成: 比如: 1 2 3...
sqlstr="select * from tableming"set rs=server.CreateObject("adodb.recordset")rs.open sqlstr,conn,1,1 do while not rs.eof and not rs.bof 要显示的内容 rs.movenext loop