请教一个SQL查询中where子句的问题!!!

ice_frank 2005-03-08 11:21:25
请教一个SQL查询中where子句的问题!!!
视图代码如下:
CREATE VIEW dbo.v_store_bj
AS
select top 100 percent a.M_id,a.m_cplb,SUM(isnull(a.sl,0)) as total,a.m_min,a.m_max
FROM ( SELECT a.m_id,
a.ck_id,
a.sl,
b.m_cplb,
b.m_min,
b.m_max
FROM store_ck a,E1_material b
WHERE a.m_id = b.m_id) a
where a.total>=a.m_max or a.total<=a.m_min
GROUP BY a.M_id,a.m_cplb,a.m_min,a.m_max
ORDER BY a.m_cplb DESC

其中的where子句中的a.tatal会报错,请问各位我想用SUM(isnull(a.sl,0))与a.m_max比较进行条件判断,如何纠正该where子句???
请各位帮助!!多谢
...全文
64 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
crycat 2005-03-08
  • 打赏
  • 举报
回复
这个本身有问题。
where筛选结果集,而sum需要结果集确定后才有效。你这样写逻辑上是循环的。
写个sub query 或者 sp 吧
LoveLwn 2005-03-08
  • 打赏
  • 举报
回复
total 改成 a.total

a.m_max a.sl, 是什么类型的,类型相同吗?
crycat 2005-03-08
  • 打赏
  • 举报
回复
a.total? total吧
Softlee81307 2005-03-08
  • 打赏
  • 举报
回复
要把a.total 改成 SUM(isnull(a.sl,0)) 才行

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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