关于这条sql的问题

merrill 2008-11-28 09:56:19
请问下 这2条sql 为什么一个可以查出结果 一个 查出的结果为空 谢谢
SELECT a.Staffno,
SUM(a.Totalcount)
FROM t_Daylog_CallCause a,
t_RptTmp_FirstCallCause b
WHERE a.logdate >= to_date('2008-11-27','yyyy-mm-dd')
AND a.logdate < to_date('2008-11-28 ','yyyy-mm-dd')
and a.callcauseid<>-1
and a.staffno like '10%'
AND a.CallCauseId LIKE b.Id||'%'
AND b.UserName='icd'
GROUP BY a.StaffNo;

-------------------------
SELECT a.Staffno,
SUM(a.Totalcount)
FROM t_Daylog_CallCause a,
t_RptTmp_FirstCallCause b
WHERE a.logdate >= to_date('2008-11-27 18:00:00','yyyy-mm-dd hh24:mi:ss')
AND a.logdate < to_date('2008-11-28 18:00:00','yyyy-mm-dd hh24:mi:ss')
and a.callcauseid<>-1
and a.staffno like '10%'
AND a.CallCauseId LIKE b.Id||'%'
AND b.UserName='icd'
GROUP BY a.StaffNo;

数据库版本 oracle 9i
...全文
62 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hebo2005 2008-11-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 merrill 的回复:]
SELECT a.Staffno,
SUM(a.Totalcount)
FROM t_Daylog_CallCause a,
t_RptTmp_FirstCallCause b
WHERE to_char(a.logdate,'yyyy-mm-dd hh24:mi:ss') >= to_char(i_BeginDate,'yyyy-mm-dd')
AND to_char(a.logdate,'yyyy-mm-dd hh24:mi:ss') < to_char(i_EndDate,'yyyy-mm-dd')
and a.callcauseid <>-1
and a.staffno like '10%'
AND a.Ca…
[/Quote]
因为你这样和第一句是没区别的,还是查27日这一天的
merrill 2008-11-28
  • 打赏
  • 举报
回复
SELECT a.Staffno,
SUM(a.Totalcount)
FROM t_Daylog_CallCause a,
t_RptTmp_FirstCallCause b
WHERE to_char(a.logdate,'yyyy-mm-dd hh24:mi:ss') >= to_char(i_BeginDate,'yyyy-mm-dd')
AND to_char(a.logdate,'yyyy-mm-dd hh24:mi:ss') < to_char(i_EndDate,'yyyy-mm-dd')
and a.callcauseid<>-1
and a.staffno like '10%'
AND a.CallCauseId LIKE b.Id||'%'
AND b.UserName=i_UserName
GROUP BY a.StaffNo;
我这个是可以查出数据 请问到底是什么原因 告诉我解决方法的 我可以在家100分
谢谢
hebo2005 2008-11-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 merrill 的回复:]
后面一张表是拆分后的小表 这个是关联条件 AND a.CallCauseId LIKE b.Id||'%'

但是现在主要问题是 第一个sql可以出来数据
第二个sql出不来数据
时间没什么问题的
因为我查看了数据库 发现有这个时间段内的数据 to_date('2008-11-27 18:00:00','yyyy-mm-dd hh24:mi:ss')
AND a.logdate < to_date('2008-11-28 18:00:00','yyyy-mm-dd hh24:mi:ss')
所以不是这个原因
[/Quote]
你这个时间段的数据是否符合其他条件?
merrill 2008-11-28
  • 打赏
  • 举报
回复
并且 我就把时间哪个条件用 to_char转换下 那么2个sql都可以查到数据
所以 时间是没问题的
merrill 2008-11-28
  • 打赏
  • 举报
回复
后面一张表是拆分后的小表 这个是关联条件 AND a.CallCauseId LIKE b.Id||'%'

但是现在主要问题是 第一个sql可以出来数据
第二个sql出不来数据
时间没什么问题的
因为我查看了数据库 发现有这个时间段内的数据 to_date('2008-11-27 18:00:00','yyyy-mm-dd hh24:mi:ss')
AND a.logdate < to_date('2008-11-28 18:00:00','yyyy-mm-dd hh24:mi:ss')
所以不是这个原因
junying2yu 2008-11-28
  • 打赏
  • 举报
回复
第二条时间限制跟第一条不同啊,你的记录应该在27号的0点到18点吧
hebo2005 2008-11-28
  • 打赏
  • 举报
回复
你的两个表没有关联的啊?那是笛卡尔乘积噢,速度会慢的
hebo2005 2008-11-28
  • 打赏
  • 举报
回复
第一个查询27号当天的
第二个查询27号18点到28号17:59:59的
merrill 2008-11-28
  • 打赏
  • 举报
回复
第一条sql可以查出结果
第二条sql查不出来结果
请问是为什么 谢谢

我不知道原因 解决方法我找到了 我就想知道原因
谢谢 不过我的解决方法效率很低 因为我不知道根本原因
仅仅为了实现功能
谢谢

17,088

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧