CNET中国旗舰网站

ZDNet China | CNET科技资讯网 | 政府采购 | 行业网站联盟





 
标题: [讨论] 在Oracle数据库中,以常量作为一个单独的列查询
saley_wook
超级会员
Rank: 4


UID 329816
精华 0
积分 1736
帖子 123
威望 822
ZD币 210 元
阅读权限 90
注册 2008-5-27
状态 离线
  楼主
发表于 2008-5-29 17:26  资料  个人空间  短消息  加为好友 
开发者在线

在Oracle数据库中,以常量作为一个单独的列查询

我遇到的情况类似这样:




有三个表table1,table2,table3。他们的列一样,只是每个表中放的内容的类型不一样。




比如table1存放发明专利、table2存放新型专利、table3存放外观专利。




要求按查询条件查询出我想要的专利。 


我是这样做的


select * from table1 where '条件(此处省略)


union



select * from table2 where '条件(此处省略)

select * from table3 where '条件(此处省略)


而现在的要求是,不仅要这些列,还需要多添加一列,专利类型,



即从table1中取出来的数据专利类型为发明,




从table2中取出来的数据专利类型为新型,




从table3中取出来的数据专利类型为外观,



最开始,我想这下要麻烦了。



可能得需要通过程序来实现了,程序实现的思路判断此条记录来自哪个表,然后把专利类型付给相应的值。





总是感觉这种方法太笨。



于是我不想这么做。。。。。。




后来我灵机一动,用sql语句实现了这种功能。




思路是把一个常量作为一个单独的列。




sql 语句为




select *,'发明' as type from table1 where '条件(此处省略)


select *,'新型' as type from table2 where '条件(此处省略)

union




select *,'外观' as type from table3 where '条件(此处省略)


问题解决。高兴,一开始我没有加单引号,经过几次尝试。我终于得到了我想要的结果,非常高兴。




我不知道,我的语言是否得当。还希望大家多指正。




顶部
cold0708
版主
Rank: 7Rank: 7Rank: 7


UID 319148
精华 0
积分 21197
帖子 1643
威望 9660
ZD币 2615 元
阅读权限 250
注册 2008-4-15
状态 离线
  沙发
发表于 2008-7-28 13:36  资料  个人空间  短消息  加为好友 
ddddddddddddd




顶部
热点频道推荐: C/S开发| 数据库| WEB开发| 嵌入式| 项目管理|
 



当前时区 GMT+8, 现在时间是 2009-7-4 16:35

  Powered by Discuz! 5.5.0 © 2001-2007 Comsenz Inc.
Processed in 0.060351 second(s), 3/3 queries

清除 Cookies - 联系我们 - ZDNetChina中文社区 - 无图版