CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

急!急!,sql语句的写法!!!!!!!!!!!!!!!!!

楼主yuechun(加密狗)2001-09-19 10:51:53 在 MS-SQL Server / 基础类 提问

SELECT   *  
          FROM   run_mal_record,run_mal_cause     WHERE   run_mal_cause.malacc_cause   like   '%'   +   run_mal_record.mal_cause     +   '%'   ......  
  这个语句在ms   sql   server   是可以执行的,但是在oracle中就是不能运行了,如何修改??  
  注:run_mal_cause.malacc_cause   中的数据有:使用不合理,超负荷,违章操作,保养维护不善,操作不良,安装问题,原制造问题,原设计问题,这是所有的记录  
   
  run_mal_record.mal_cause   中的每条记录是以上run_mal_cause.malacc_cause的记录的不同组合e.g.   使用不合理/超负荷/违章操作/保养维护不善/操作不良/安装问题,原制造问题/原设计问题  
   
  问题点数:39、回复次数:8Top

1 楼xzou(亡狼补齿)回复于 2001-09-19 11:49:33 得分 1

SELECT   *  
          FROM   run_mal_record,run_mal_cause     WHERE   run_mal_cause.malacc_cause   like   '%'   ||   run_mal_record.mal_cause     ||   '%'   ......  
  Top

2 楼nielinjie(学当活雷锋ing)回复于 2001-09-19 13:52:29 得分 1

楼上得很对Top

3 楼clwyf(芯片)回复于 2001-09-19 13:58:46 得分 1

SELECT   *  
          FROM   run_mal_record,run_mal_cause      
          WHERE   run_mal_cause.malacc_cause   like   '%'   and   run_mal_record.mal_cause   like   '%'     and   ......Top

4 楼yuechun(加密狗)回复于 2001-09-19 14:01:24 得分 0

那么您能保证以后采用别的数据库后台后不改变前台的程序吗?  
  ‘||’或许又要变成别的符号了  
  您说的方法我以前用了,但是只能是在oracle中Top

5 楼leeyoong(莫西)回复于 2001-09-19 14:45:08 得分 1

可以这样做:  
  SELECT   *  
          FROM   run_mal_record,run_mal_cause     WHERE   CHARINDEX(run_mal_record.mal_cause   ,run_mal_cause.malacc_cause)>0  
   
  但不知道oracle中是否有CHARINDEX函数?Top

6 楼icevi(按钮工厂)回复于 2001-09-19 15:55:22 得分 34

你好象把run_mal_cause.malacc_cause和run_mal_record.mal_cause写反了。  
  改为:  
  select   *  
          FROM   run_mal_record,run_mal_cause     WHERE   run_mal_record.mal_cause   like   '%'   +   run_mal_cause.malacc_cause     +   '%'    
   
  我想知道一点,你为什么要这样设计数据库呢?  
  既然run_mal_record.mal_cause是用run_mal_cause.malacc_cause表中字段组合出来的,你不如加一个表专门指定这两个表的一对多的对应关系。这样就好做查询了。而且用文字来组合,又不好维护,可能还会有长度限制,没什么好处。  
   
  比如run_mal_cause中  
  使用不合理,超负荷,违章操作,保养维护不善,操作不良,安装问题,原制造问题,原设计问题  
  分别对应代码1,2,3,4,5,6,7,8  
   
  run_mal_record记录有:  
  1001   使用不合理/超负荷/违章操作/保养维护不善/操作不良/安装问题  
  1002   原制造问题/原设计问题  
   
    新加的表中记录就是这样的:  
  frecordid   fcauseid  
  1001   1  
  1001   2  
  1001   3  
  1001   4    
  1001   5  
  1001   6  
  1002   7    
  1002   8  
   
  查询就好写了。  
   
   
  Top

7 楼qianby(宝贝)回复于 2001-09-19 16:13:17 得分 1

gzTop

8 楼yuechun(加密狗)回复于 2001-09-19 16:58:01 得分 0

我的数据库结构是不能再改写了,要是可以改写数据库结构   ,有很多的方法实现的,不过谢谢各位关注了!!!!!Top

相关问题

  • sql语句的写法!!!!!急!!!!
  • sql 语句写法.
  • sql语句写法
  • sql语句写法
  • SQL语句写法。
  • sql语句写法
  • sql语句- 写法!
  • 求救,急!sql语句的写法
  • 急问一个sql语句的写法。
  • 急求这sql语句写法!!!

关键词

  • 数据库
  • 维护
  • 安装
  • 制造
  • oracle
  • mal
  • cause
  • malacc
  • run
  • record

得分解答快速导航

  • 帖主:yuechun
  • xzou
  • nielinjie
  • clwyf
  • leeyoong
  • icevi
  • qianby

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo