向各位兄弟请教如何实现对数据库这样的读取:
如:
数据库结构
name size count
abc M 120
cde L 250
ufg S 300
abc S 210
在DBGrid显示为
标题-> 标号 S M L
abc 210 120
cde 250
ufg 200
并且要求DBGrid显示的、行列随数据库记录的增减而改变。
请问各位这应如何实现,有没有哪个第三方控件可以实现的,谢谢先!
如:
数据库结构
name size count
abc M 120
cde L 250
ufg S 300
abc S 210
在DBGrid显示为
标题-> 标号 S M L
abc 210 120
cde 250
ufg 200
并且要求DBGrid显示的、行列随数据库记录的增减而改变。
请问各位这应如何实现,有没有哪个第三方控件可以实现的,谢谢先!
解决方案 »
- 通过第三方控件EhLib修改Language.DB数据库?
- 在delphi中,如何将colordialog1.color的color值表示成十六进制字符,即转换成十六进制表示的字符串型?如比:黄色,表示为:00ffff.
- 请教delphi7.0开发碰到的一个问题…………
- Tidserver 、 Tidclient 相互检测造成网络瘫痪!!!!
- 高分求教一个Delphi+Oracle的简单问题!再线急等!
- 小弟求各为了!帮帮忙吧!可怜可怜我!我为了给这个问题所有的分都没有了!
- 很简单的SQL语句问题!
- 比较字符串问题,急!!!
- 如何在应用程序和动态链接库中共享数据库连接
- =>关于.bmp或.jpg格式文件“成批”导入和导出问题??
- Delphi中是否有能够进行字符索引(检索)的函数?
- 大四在公司实习有薪水拿吗?
如果是oracle
可以用decode实现
select
name as '标号',
max(decode(size,'S',a24)) S,
max(decode(size,'M',a24)) M,
max(decode(size,'L',a24)) L
from my_table
group by name;
SELECT name AS '标号',
MAX((CASE size WHEN 'S' THEN [count] ELSE 0 END)) AS S,
MAX((CASE size WHEN 'M' THEN [count] ELSE 0 END)) AS M,
MAX((CASE size WHEN 'L' THEN [count] ELSE 0 END)) AS L
FROM mytable
GROUP BY name