ASP实现将Access数据表中的同一字段的文本合并,并添加到新行?

Access里有这样一张表,有IDdeptname1东部室张三2东部室李四3西部室王五4西部室赵六使用ASP实现,需要得到结果5东部室张三,李四6西部室王五,赵六请各位大... Access里有这样一张表,有 ID dept name
1 东部室 张三
2 东部室 李四
3 西部室 王五
4 西部室 赵六
使用ASP实现,需要得到结果 5 东部室 张三,李四
6 西部室 王五,赵六
请各位大侠指点!不胜感激!
展开
 我来答
inghot
2014-02-12 · TA获得超过252个赞
知道小有建树答主
回答量:475
采纳率:0%
帮助的人:338万
展开全部
ACCESS的话,估计得ASP里循环嵌套了
select distinct dept from table1 获取有几个部门,然后循环

set rs=server.CreateObject("adodb.recordset")
sql="select distinct dept from table1"
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.write("没有内容")
else
do until rs.eof
dept=rs("dept")
names=""

sql="select name from table1 where dept='"&dept&"'"
set rq=server.CreateObject("adodb.recordset")
rq.open sql,conn,1,1
if rq.eof and rq.bof then
else
do until rq.eof
names=names&rq("name")+","

rq.movenext
loop
rq.close
if(len(names)>0)
names=left(names,len(names)-1)

response.write("部门:"&dept&",人员:"&names)

rs.movenext
loop
end if
rs.close
具体的显示你再调整下。
chenda8852
2014-02-12 · TA获得超过309个赞
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:182万
展开全部
/*行列转换

成绩表

id cname kecheng score

1 张三 语文 80

2 李四 语文 85

3 李四 英文 100

输出为

姓名 语文 英语

张三 80 0

李四 85 100

*/

语句为:

select cname as 姓名,max(yw) as 语文,max(yy) as 英文 from (

select cname,

case kecheng when '语文' then score else 0 end as yw,

case kecheng when '英语' then score else 0 end as yy

from cj

) as a group by cname

可简写为

select cname as 姓名,

max(case kecheng when '语文' then score else 0 end) as 语文,

max(case kecheng when '英语' then score else 0 end) as 英语

--,cast(avg(score*1.0) as decimal(18,2)) 平均分,sum(score) as 总分

from cj group by cname

在sql server 2005中 可写为

select cname as 姓名,max(isnull(语文,0)) as 语文,max(isnull(英语,0)) as 英语 from (

select * from cj as a pivot (max(score) for kecheng in (语文,英语)) as b --试着理解这句

) as c group by cname
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者zUzVB1Sl31
2014-02-12 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5975

向TA提问 私信TA
展开全部
建立一个临时表去处理逻辑:
执行前先删除临时表所有数据初始化,再整理表重新插入进去:
void 删除表()
{
sql="Delete * From 临时表";
...
}
void 插入操作类名(string deptName)
{
sql="Select from 表 where dept='"+deptName+"'"
//处理sql语句得出数据集合
....
//重新整理字段
int Sname=""; //变量存储合并列名
for(int i=0;i<数据集合.Count;i++)
{
Sname+=数据集合.列名.ToString()+“,"; //累加字段相同的值
}
Sname=Sname.SubString(0,Sname.Lenth-1); //把最后一个多余的逗号去掉
//把Sname插入到新的临时表
sql2=“Insert Into 临时表(dept,Name) values('"+deptName+"','"+Sname+"')";
.....
}
//最后要查刚才的dept逐条整理
void 执行操作类()
{
//初始化
删除表();
sql="select distinct sept from 表";
for(int i=0;i<ds.Tables[0].rows.Count;i++)
{
插入操作类名(ds.Tables[0].Rows[0][I].ToString()); //把不重复的列值作为变量去处理类
}
}
用ASP就要这么做,得出一个新的临时表,你会了吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式