查询的问题! ( 积分: 300 )

  • 主题发起人 主题发起人 seeip
  • 开始时间 开始时间
S

seeip

Unregistered / Unconfirmed
GUEST, unregistred user!
现有个数据表:
ID aaa aaaQ ccc cccQ ....
001 25 0.1 20 0.5 ....
002 30 5.4 40 0.25 ....

由于字段多,到时显示的时候,只是查询单条,所以看上去也不直观。
想改为:查询到001时显示在DBGrid中
大类 测试量 测试值
aaa 25 0.1
ccc 20 0.5
 
双击DataSet,然后选择你要显示的字段就可以了。
 
其实是这样,原来是横着显示几十个字段,在看的时候,要向右拉很长,不直观。现要要变为竖着显示再改改表头
大类 测试量 测试值
aaa 25 0.1
ccc 20 0.5
...................
.... .... ....
.... .... ....
.... .... ....
 
试用union合并 然后按照id排序
 
(select ID,'aaa',aaa,aaaQ from date1)
union
(select ID,'ccc',ccc,cccQ from date1)
 
只能说是你原来的表的木结构不合乎你的需要.
如果初始数据分成两个表: 大类表, 测试表, 两个表以大类关联就很方便了.
如果在不改变表结构的前提下可以用存储过程或临时表:
select
'aaa' as 大类, aaa as 测试量, aaaq as 测试值 from table where id = '001'
union
'bbb' as 大类, bbb as 测试量, bbbq as 测试值 from table where id = '001'
union
'ccc' as 大类, ccc as 测试量, cccq as 测试值 from table where id = '001'
id当然是根据点击改变的
 
现在的问题是这样的,像aaa ccc 这样的字段是动态产生的,产生时,一个是aaa 后带一个aaaQ,所以这样就是不好处理了。
 
像aaa ccc 这样的字段是动态产生的 楼主的SQL同样可以动态构造吗
难道字段的构造你不能控制或者获得??
 
建意修改这个数据结构
id 大类 测试量 测试值
001 aaa 25 0.1
001 bbb
001 ccc 20 0.5
这样操作起来也方便
 
临时表转换
 
后退
顶部