社区
数据库相关
帖子详情
delphi access数据库操作,如何行转列显示
hk2009
2011-09-14 04:28:43
access数据库中有一组数据
A1 B1
aaa 1
aaa 2
aaa 3
aaa 4
这是个关系对应表。
我想要的结果是:
在DBgrid中用显示两个列,如下:
L1 L2
aaa 1,2,3,4
既B1列中的数据链接显示在一个列中。请指教,谢谢。
...全文
215
6
打赏
收藏
delphi access数据库操作,如何行转列显示
access数据库中有一组数据 A1 B1 aaa 1 aaa 2 aaa 3 aaa 4 这是个关系对应表。 我想要的结果是: 在DBgrid中用显示两个列,如下: L1 L2 aaa 1,2,3,4 既B1列中的数据链接显示在一个列中。请指教,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tgbd
2011-09-14
打赏
举报
回复
ACCESS的行列转换一般用transform,楼主可以查找一下,但楼主要的这种效果,不是简单地一步就可得到这种结果。
先通过transform生成标准的行列转换,再从这个结果中组合一下,看看是否可以满足。
hk2009
2011-09-14
打赏
举报
回复
[Quote=引用 4 楼 xfxlylove 的回复:]
-- 经典SQL行列转换
-- http://www.programbbs.com/doc/4885.htm
/*
标题:普通行列转换(version 2.0)
说明:普通行列转换(version 1.0)仅针对sql server 2000提供静态和动态写法,version 2.0增加sql server 2005的有关写法。
问题:假设有张学生成绩表(tb)如下:
姓名 课程 分……
[/Quote]
这个case when then end。我用过,查了下,Access不支持,只支持IIf
THQWS
2011-09-14
打赏
举报
回复
-- 经典SQL行列转换
-- http://www.programbbs.com/doc/4885.htm
/*
标题:普通行列转换(version 2.0)
说明:普通行列转换(version 1.0)仅针对sql server 2000提供静态和动态写法,version 2.0增加sql server 2005的有关写法。
问题:假设有张学生成绩表(tb)如下:
姓名 课程 分数
张三 语文 74
张三 数学 83
张三 物理 93
李四 语文 74
李四 数学 84
李四 物理 94
想变成(得到如下结果):
姓名 语文 数学 物理
---- ---- ---- ----
李四 74 84 94
张三 74 83 93
-------------------
*/
create table tb(姓名 varchar(10) , 课程 varchar(10) , 分数 int)
insert into tb values('张三' , '语文' , 74)
insert into tb values('张三' , '数学' , 83)
insert into tb values('张三' , '物理' , 93)
insert into tb values('李四' , '语文' , 74)
insert into tb values('李四' , '数学' , 84)
insert into tb values('李四' , '物理' , 94)
go
--SQL SERVER 2000 静态SQL,指课程只有语文、数学、物理这三门课程。(以下同)
select 姓名 as 姓名 ,
max(case 课程 when '语文' then 分数 else 0 end) 语文,
max(case 课程 when '数学' then 分数 else 0 end) 数学,
max(case 课程 when '物理' then 分数 else 0 end) 物理
from tb
group by 姓名
--SQL SERVER 2000 动态SQL,指课程不止语文、数学、物理这三门课程。(以下同)
declare @sql varchar(8000)
set @sql = 'select 姓名 '
select @sql = @sql + ' , max(case 课程 when ''' + 课程 + ''' then 分数 else 0 end) [' + 课程 + ']'
from (select distinct 课程 from tb) as a
set @sql = @sql + ' from tb group by 姓名'
exec(@sql)
--SQL SERVER 2005 静态SQL。
select * from (select * from tb) a pivot (max(分数) for 课程 in (语文,数学,物理)) b
--SQL SERVER 2005 动态SQL。
declare @sql varchar(8000)
select @sql = isnull(@sql + ',' , '') + 课程 from tb group by 课程
exec ('select * from (select * from tb) a pivot (max(分数) for 课程 in (' + @sql + ')) b')
---------------------------------
/*
问题:在上述结果的基础上加平均分,总分,得到如下结果:
姓名 语文 数学 物理 平均分 总分
---- ---- ---- ---- ------ ----
李四 74 84 94 84.00 252
张三 74 83 93 83.33 250
*/
上面是例子。看懂了就容易
究天人之际
2011-09-14
打赏
举报
回复
查询出来,自己拼一下呗
hk2009
2011-09-14
打赏
举报
回复
会就自己转了
bdmh
2011-09-14
打赏
举报
回复
自己本地转吧
Delphi
环境下
Access
数据库
中OLE对象的读写
操作
(论文)
在
Delphi
环境下进行
Access
数据库
中OLE对象的读写
操作
,主要涉及的几个关键知识点包括: 1. OLE对象的特点:OLE(Object Linking and Embedding)是一种技术,用于在一个文档内嵌入或链接另一个程序的对象。在
Access
...
delphi
压缩修复
access
数据库
在
Delphi
这样的高级编程环境中,我们可以利用其强大的VCL组件库来与
Access
数据库
进行交互,包括创建、压缩、修复以及修改
数据库
密码等
操作
。本文将深入探讨如何使用
Delphi
进行这些任务,特别是针对
Access
2007和2003...
delphi
7
操作
Access
数据库
完整实例
###
Delphi
7
操作
Access
数据库
完整实例 #### 实例1:系统登录对话框设计与实现 在探讨如何使用
Delphi
7
操作
Access
数据库
时,一个典型的场景就是实现系统登录对话框的功能。这种对话框不仅是一个简单的用户界面元素,...
Delphi
修复或压缩
Access
数据库
.rar
标题 "
Delphi
修复或压缩
Access
数据库
.rar" 涉及到使用
Delphi
编程语言来处理Microsoft
Access
数据库
,目的是实现
数据库
的修复和压缩功能。在
数据库
管理中,这是一项重要的任务,因为随着时间的推移,
数据库
可能会变得...
DELPHI
全
操作
ACCESS
数据库
DELPHI
全
操作
ACCESS
数据库
是关于使用
Delphi
编程语言与Microsoft
Access
数据库
进行交互的一个主题。在这一领域,开发者可以利用
Delphi
的VCL组件库,尤其是ADO(ActiveX Data Objects)来实现对
Access
数据库
的创建、...
数据库相关
2,507
社区成员
88,453
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章