CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  开发

精通oracle的高手来看呀!!

楼主sy000000(无帆舟)2006-03-04 18:04:27 在 Oracle / 开发 提问

select   msg.id   msgId,msg.test_result_id   resultId,test.test_name   testName,msg.message_times   times,msg.receiver_id   postilorId,msg.sender_id   userId,postilor.real_name   postilorName,msg.createdate   createDate,msg.status   status   from   (((select   *   from   newclass.te_message    union   (select   m1_.id,m1_.body,m1_.title,m1_.test_result_id,m1_.msg_type_id,m1_.sender_id,m1_.receiver_id,0,m1_.status,m1_.createby,m1_.createdate,m1_.lastupdateby,m1_.lastupdatedate   from   newclass.te_message   m1_   where   m1_.test_result_id   not   in   (select   distinct   m0_.test_result_id   from   newclass.te_message   m0_   where   m0_.receiver_id=1173587)))   msg   inner   join   newclass.te_testresult   result   on   msg.test_result_id=result.id)   inner   join   newclass.te_test   test   on     result.testid=test.id   )   inner   join   newclass.te_test_postilor   postilor   on   msg.receiver_id=postilor.id;  
   
  查不出记录,但是取中间的一节却没有问题,  
  select   *   from   newclass.te_message   where   receiver_id=1173587     union   (select   m1_.id,m1_.body,m1_.title,m1_.test_result_id,m1_.msg_type_id,m1_.sender_id,m1_.receiver_id,0,m1_.status,m1_.createby,m1_.createdate,m1_.lastupdateby,m1_.lastupdatedate   from   newclass.te_message   m1_   where   m1_.test_result_id   not   in   (select   distinct   m0_.test_result_id   from   newclass.te_message   m0_   where   m0_.receiver_id=1173587));  
  数据方面没有错误。 问题点数:20、回复次数:3Top

1 楼cenlmmx(学海无涯苦作舟)回复于 2006-03-04 19:13:41 得分 0

太乱了Top

2 楼dj0628(Reed)回复于 2006-03-06 11:09:25 得分 0

cenlmmx(学海无涯苦作舟)   真的很热心阿,呵呵Top

3 楼boydgmx(授人以鱼不如授人以渔(baidu&google))回复于 2006-03-06 13:57:00 得分 0

我把你的语句格式调整了一下:  
   
  select   msg.id   msgId,  
  msg.test_result_id   resultId,  
  test.test_name   testName,  
  msg.message_times   times,  
  msg.receiver_id   postilorId,  
  msg.sender_id   userId,  
  postilor.real_name   postilorName,  
  msg.createdate   createDate,  
  msg.status   status   from   (  
  select   *   from   newclass.te_message   union  
  (select  
  m1_.id,  
  m1_.body,  
  m1_.title,  
  m1_.test_result_id,  
  m1_.msg_type_id,  
  m1_.sender_id,  
  m1_.receiver_id,  
  0,  
  m1_.status,  
  m1_.createby,  
  m1_.createdate,  
  m1_.lastupdateby,  
  m1_.lastupdatedate  
  from   newclass.te_message   m1_  
  where   m1_.test_result_id   not   in   (  
  select   distinct   m0_.test_result_id  
  from   newclass.te_message   m0_  
  where   m0_.receiver_id=1173587)  
  )  
  )   msg  
  inner   join   newclass.te_testresult   result   on   (msg.test_result_id=result.id)  
  inner   join   newclass.te_test   test   on     (result.testid=test.id)  
  inner   join   newclass.te_test_postilor   postilor   on   (msg.receiver_id=postilor.id);  
   
  自己看看吧  
   
  我觉得很可能是这几个   inner   join   导致结果集为空  
   
  你可以先去掉所有的inner   join,查询看看  
  如果有结果,就加上一个join  
  依次尝试三个join  
  应该就能找到问题所在了  
   
  祝你好运!Top

相关问题

  • oracle高手过来看
  • 精通SQL SERVER和ADO的进来看看:
  • 请各位对HTML精通的请进来看看
  • 请各位对HTML精通的请进来看看
  • 看过《精通Struts》这本书的近来看看
  • 精通数据库连接的人进来!(C#.net和Oracle连接)
  • oracle无耻的问题?来看看!
  • Delphi+BDE+Oracle,我希望你来看看!
  • 关于Oracle的技术问题,Oracle的高手都来看看
  • oracle 开发高手来看看,请教几个oracle的简单问题

关键词

  • m1
  • m0
  • newclass
  • postilor
  • te
  • msg
  • createdate
  • createby
  • lastupdateby
  • receiver

得分解答快速导航

  • 帖主:sy000000

相关链接

  • Oracle类图书

广告也精彩

反馈

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