起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 165|回复: 8

【结】SQL自建数据集时怎么显示提取字段的枚举类型的查找值

[复制链接]
发表于 2010-5-12 15:49:55 | 显示全部楼层 |阅读模式
新建标准数据集,使用SQL如下:
(SELECT  ZZMAIN.WDATE RQ, ZZMAIN.Z ZB, ZZMAIN.BC ,ZZMAIN.JB, PR_YXJS.WTIME SJ, PR_YXJS.YXJS,PR_YXJS.SSJZ FL, PR_YXJS.RZZL,PR_YXJS.JSLX
  FROM ZZMAIN, PR_YXJS
  WHERE ZZMAIN.ID = PR_YXJS.FID and ZZMAIN.WDATE>TO_DATE('2009-12-22 ', 'yyyy-mm-dd ') )
  union  
(SELECT PR_YXRZ.RQ, PR_YXRZ.ZB,PR_YXRZ.BC,PR_YXRZ.JB,PR_YXJS1.SJ,PR_YXJS1.YXJS,PR_YXJS1.FL,PR_YXJS1.RZZL,PR_YXJS1.JSLX
  FROM PR_YXRZ, PR_YXJS1
  where PR_YXRZ.ID = PR_YXJS1.FID and PR_YXRZ.RQ>TO_DATE('2009-12-22 ', 'yyyy-mm-dd ')  )
  union  
(SELECT PR_TLYXRZ.RQ,PR_TLYXRZ.ZB,PR_TLYXRZ.BC,PR_TLYXRZ.JB,PR_TLYXJS.SJ,PR_TLYXJS.YXJS,PR_TLYXJS.FL,PR_TLYXJS.RZZL,PR_TLYXJS.JSLX
  FROM  PR_TLYXRZ,PR_TLYXJS
  WHERE PR_TLYXRZ.ID=PR_TLYXJS.FID and PR_TLYXRZ.RQ>TO_DATE('2009-12-22 ', 'yyyy-mm-dd ') )
  union  
(SELECT PR_HXYXRZ.RQ,PR_HXYXRZ.ZB,PR_HXYXRZ.BC,PR_HXYXRZ.JB,PR_HXYXJS.SJ,PR_HXYXJS.YXJS,PR_HXYXJS.FL,PR_HXYXJS.RZZL,PR_HXYXJS.JSLX
  FROM  PR_HXYXRZ,PR_HXYXJS
  WHERE PR_HXYXRZ.ID=PR_HXYXJS.FID and PR_HXYXRZ.RQ>TO_DATE('2009-12-22 ', 'yyyy-mm-dd ') )
  union  
(SELECT PR_CLYXRZ.RQ,PR_CLYXRZ.ZB,PR_CLYXRZ.BC,PR_CLYXRZ.JB,PR_CLYXJS.SJ,PR_CLYXJS.YXJS,PR_CLYXJS.FL,PR_CLYXJS.RZZL,PR_CLYXJS.JSLX
  FROM  PR_CLYXRZ,PR_CLYXJS
  WHERE PR_CLYXRZ.ID=PR_CLYXJS.FID and PR_CLYXRZ.RQ>TO_DATE('2009-12-22 ', 'yyyy-mm-dd ') )
  union  
(SELECT PR_CHYXRZ.RQ,PR_CHYXRZ.ZB,PR_CHYXRZ.BC,PR_CHYXRZ.JB,PR_CHYXJS.SJ,PR_CHYXJS.YXJS,PR_CHYXJS.FL,PR_CHYXJS.RZZL,PR_CHYXJS.JSLX
  FROM  PR_CHYXRZ,PR_CHYXJS
  WHERE PR_CHYXRZ.ID=PR_CHYXJS.FID and PR_CHYXRZ.RQ>TO_DATE('2009-12-22 ', 'yyyy-mm-dd ') )

这个提取出来的枚举字段都是关键值,怎么写能找出查找值?
SQL中怎么将日期时间格式化成HH:MM格式?
回复

使用道具 举报

发表于 2010-5-12 16:01:39 | 显示全部楼层
这个提取出来的枚举字段都是关键值,怎么写能找出查找值?
不太懂这个意思

SQL中怎么将日期时间格式化成HH:MM格式?
oracle中可以用to_char/to_date
比如select to_char(sys_date,'hh:mi:ss') from dual
sqlserver中可以用CONVERT,具体可以看看帮助
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-12 17:14:34 | 显示全部楼层
定义字段查找类型为枚举类型如“
关键字   查找字
1                 化学
2                  脱硫
现在使用SQL将几个表关联后形成新表,在datagrid显示,显示出的数据为1,2
现在想显示出化学,超滤怎么实现。
回复 支持 反对

使用道具 举报

发表于 2010-5-12 17:58:27 | 显示全部楼层
1、把1楼的结果定义为一个视图,然后通过定义视图中 字段的 查找属性
2、把1楼的中sql改造一下,把查找值定义出来(case语句,枚举值固定的)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-12 19:01:32 | 显示全部楼层
定义视图可以在标准数据集中使用吗?具体怎么操作,能否举例一下,我看了一下,不太明白
回复 支持 反对

使用道具 举报

发表于 2010-5-13 09:07:57 | 显示全部楼层
首先你在数据库中 把一楼的结果集做成一个视图
然后你在studio中建立一个表,表名和字段名以及字段的数据类型长度等属性 与此视图一一对应。
这样就可以在平台中 直接预览得到视图中的结果了(注意,平台里的这个‘表’不需要去创建物理表)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-13 09:15:31 | 显示全部楼层
case语句也是在视图中定义吗?
回复 支持 反对

使用道具 举报

发表于 2010-5-13 09:32:10 | 显示全部楼层
对,sql语句中可以使用case,具体可以看看数据库的帮助或者网上找一下写法。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-13 18:27:50 | 显示全部楼层
结贴,已实现,不过是直接在标准数据集中用sql实现的,没用视图,不知道会不会影响速度。谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-8 22:00 , Processed in 0.043069 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表