sql 存储过程问题

事实胜于雄辩 2016-10-11 03:17:39
这是我在sql里执行存储过程出来的结果 , 我print出来 ,我那句错了?

消息 207,级别 16,状态 1,第 12 行
列名 'ssze' 无效。
declare @indextable table(id int identity(1,1),nid int)
insert into @indextable(nid) select pro_ID from ( select g.*,
cpr_SignDate,
Convert(decimal(18,2),(Select isnull(SUM(payCount),0.00) From cm_CoperationCharge where cpr_ID=cm_Coperation.cpr_ID))as ssze
from cm_Project g inner join cm_Coperation on g.Pro_number =cm_Coperation.cpr_No)
temp where 1=1 AND ( Unit in ('全部部门','预算室','建筑创作室(Studio)','效果工作室','天泰图文','建筑一院','建筑二院','建筑三院','建筑四院','建筑五院','建筑六院','机电一院','机电二院','市政院','规划园林院','结构咨询室','勘察室','监理公司')) AND (ssze LIKE '%1000%') AND year(cpr_SignDate)=2016 Order by pro_Id desc
select pro_ID,Pro_number,Pro_numberChild,cpr_SignDate
,pro_buildUnit,pro_name,cpr_name,Unit,BuildArea,ProjectScale,cpr_Type,cm_Coperation.cpr_Acount,(select isnull(sum(payCount),0) from cm_CoperationCharge where cpr_ID=cm_Coperation.cpr_ID) ys,(cm_Coperation.Cpr_Acount-(select isnull(sum(payCount),0) from cm_CoperationCharge where cpr_ID=cm_Coperation.cpr_ID)) ws
,stuff((select','+cm_CoperationCharge.Times+convert(char(10),cm_CoperationCharge.paytime,120)+'收费为:'+convert(char(10),cm_CoperationCharge.payCount,20)from cm_CoperationCharge where cm_CoperationCharge.cpr_ID=cm_Coperation.cpr_Id for xml path('')),1,1,'') cs from cm_Coperation inner join cm_Project on cm_Project.Pro_number =cm_Coperation.cpr_No
inner join @indextable t on
cm_Project.pro_ID=t.nid
where t.id between 1 and 25 AND ( Unit in ('全部部门','预算室','建筑创作室(Studio)','效果工作室','天泰图文','建筑一院','建筑二院','建筑三院','建筑四院','建筑五院','建筑六院','机电一院','机电二院','市政院','规划园林院','结构咨询室','勘察室','监理公司')) AND (ssze LIKE '%1000%') AND year(cpr_SignDate)=2016 Order by pro_Id desc
select @Total=count(pro_ID) from (select g.*,cpr_SignDate,
Convert(decimal(18,2),(Select isnull(SUM(payCount),0.00) From cm_CoperationCharge where cpr_ID=cm_Coperation.cpr_ID)) as ssze
from cm_Project g inner join cm_Coperation on g.Pro_number =cm_Coperation.cpr_No)
temp where 1=1 AND ( Unit in ('全部部门','预算室','建筑创作室(Studio)','效果工作室','天泰图文','建筑一院','建筑二院','建筑三院','建筑四院','建筑五院','建筑六院','机电一院','机电二院','市政院','规划园林院','结构咨询室','勘察室','监理公司')) AND (ssze LIKE '%1000%') AND year(cpr_SignDate)=2016

(1 行受影响)

(1 行受影响)
...全文
143 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
㤁孞 2016-10-11
  • 打赏
  • 举报
回复
http://www.cnblogs.com/xiandedanteng/archive/2013/09/22/3333469.html 可以参考一下这种最原始的做法
㤁孞 2016-10-11
  • 打赏
  • 举报
回复
引用 2 楼 u014388120 的回复:
引用 1 楼 Mynameisamirror 的回复:
ssze这一列好像不能在后面作为条件
可是我要用到这个ssze 作为条件 查询
最好就是把这一列的数据一次筛选好,不要到后面还要用where筛选
㤁孞 2016-10-11
  • 打赏
  • 举报
回复
直接把你转换的那个复制过来,看一下能不能查询, 就是 as 前面这一部分把 ssze替换掉
事实胜于雄辩 2016-10-11
  • 打赏
  • 举报
回复
引用 1 楼 Mynameisamirror 的回复:
ssze这一列好像不能在后面作为条件
可是我要用到这个ssze 作为条件 查询
㤁孞 2016-10-11
  • 打赏
  • 举报
回复
ssze这一列好像不能在后面作为条件

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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