case when后面显示列名无效 SQL执行顺序问题?

kiyo233 三锐 工程师  2015-11-07 11:02:45
经过几次大神指点 这查询语句写的差不多了 最后还有点小问题 虽然分两个视图就可以解决 但我想写在一个视图里

错误: 画横线的 库存列无效
功能:判断计算出来的库存列与数据库中存储的low大小 然后补上说明

PS:如果想要把箭头指的 判断时间的条件写出参数形式 是不是直接整段写成存储过程就可以了?
上面说的想封装成一个视图是因为我现阶段解决库存列无效问题用的是这样的方法 但这样就无法实现对 时间条件的参数化了
...全文
256 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
kiyo233 2015-11-07
引用 1 楼 jddhdd 的回复:
把库存>low 改为 (a.rk+b.ck+ulast)>low
如果我要把 where wday=xxxx 这wday整句条件暴露出去怎么弄 因为这最终要实现的是筛选
回复
武汉陈刚 2015-11-07
把库存>low 改为 (a.rk+b.ck+ulast)>low
回复
kiyo233 2015-11-07
引用 4 楼 tcmakebest 的回复:
库存是计算出来的列, 要把查询语句做成嵌套的, select xxxx as 储备情况 from ( 楼主的SQL ) as tab
这样就无法将条件暴露出来 后面就无法在客户端通过拼接SQL语句实现筛选了啊
回复
kiyo233 2015-11-07
引用 3 楼 wmxcn2000 的回复:
库存这列,是一个计算出来列,不能同一层引用 。 可以把这个放在一个 cte 里,再引用。
弄完之后怎么把where语句暴露在外面 因为这最终功能要实现筛选的...
回复
tcmakebest 2015-11-07
库存是计算出来的列, 要把查询语句做成嵌套的, select xxxx as 储备情况 from ( 楼主的SQL ) as tab
回复
卖水果的net 2015-11-07
库存这列,是一个计算出来列,不能同一层引用 。 可以把这个放在一个 cte 里,再引用。
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-11-07 11:02
社区公告
暂无公告