有点难度的SQL语句

xinfudepangbian 2006-11-08 03:10:33
line_no
有什么方法把当line_no=-1时把查询条件忽略啊

select DEPT_NO,LINE_NO,BUS_NO,OP_NO,IS_UP_DOWN,START_TIME,START_LABEL_NO,END_TIME,END_LABEL_NO from tm_dri_single_distance where trim(line_no)=trim(:lineno) and is_up_down in (decode(:IsUpDown,0,0,1,1,-1,0),decode(:IsUpDown,0,0,1,1,-1,1)) and op_no =:opno and to_char (start_time,'yyyymmdd') >=to_char(:StartTime,'yyyymmdd') and to_char(end_time,'yyyymmdd')<=to_char(:EndTime,'yyyymmdd') order by op_no,START_TIME desc

也就是当
trim(line_no)=trim(-1


)
...全文
242 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinfudepangbian 2006-11-08
  • 打赏
  • 举报
回复
楼上这位兄弟

你的能把单条线路的数据取出来 但全部的就不行了
xinfudepangbian 2006-11-08
  • 打赏
  • 举报
回复
楼上这位兄弟

如果是

(trim(line_no)=trim(-1) or trim(line_no) = -1)
daxiaolao 2006-11-08
  • 打赏
  • 举报
回复
(trim(line_no)=trim(:lineno) or trim(line_no) = -1)
xinfudepangbian 2006-11-08
  • 打赏
  • 举报
回复
line_no='-1' or line_no <> '-1' 倒能把所有的线路都查出来



line_no='65' or line_no <> '65' 还能把所有线路都查出来

怎么办 怎么办 难死我了
xinfudepangbian 2006-11-08
  • 打赏
  • 举报
回复
谢谢了 不过当line_no=-1时 我要把所有的线路都查出来

(trim(line_no)=trim(:lineno) and trim(line_no)<>-1)

这个不行吧
clare2003 2006-11-08
  • 打赏
  • 举报
回复
(trim(line_no)=trim(:lineno) and trim(line_no)<>-1)
这样试一下
xmadan 2006-11-08
  • 打赏
  • 举报
回复
不一定要一次查询搞定的啦,有时效率上不见得能提高
xinfudepangbian 2006-11-08
  • 打赏
  • 举报
回复
没人吗
xinfudepangbian 2006-11-08
  • 打赏
  • 举报
回复
也就是当
trim(line_no)=trim(-1) 时 把trim(line_no)=trim(-1)从查询条件里忽略

谢谢了


81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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