select sum(express) from a table
其中express为:case when (含有子查询的布尔表达式) then num1
else num2 end这样的形式在MS SQL7中是支持的. 你再试试.
其中express为:case when (含有子查询的布尔表达式) then num1
else num2 end这样的形式在MS SQL7中是支持的. 你再试试.
解决方案 »
- 只提醒一次
- sql2005如何多行转多列?
- sql 2000 查询问题 急
- 触发器问题:为什么在前台界面一单击“保存”,库存就会更新?(连续点击保存连续更新)
- sql定义模式和不定义模式有什么区别
- 求助备份语句!
- excel导数据到sql Server ,怎么把两个字段的记录导到sql一个字段里?
- 一个GUID字段(sql server2000)可以手动添加值么? 即在INSERT时加入自己生成的值(可通过API函数实现) HRESULT hr = ::UuidCreate(&m_gu
- 带临时表的存储过程调用出错,请高手赐教
- 如何设计流水纪录表
- 关于加密的存储过程
- 已经获得一个连接对象,如何用ADO控件绑定SQL Server的一个表格,以实现浏览,修改及追加等功能?急!
如果是像這種寫法是不正確的:
Select table1.FldN, SUM( CASE WHEN (SELECT COUNT(*) From table2)>0 THEN table1.Field1 ELSE table1.Field2 END ) From table1即會提示這類似這樣的錯誤:
Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
Select sum(ncount) AS n1 , count(nid) AS n2, sum(case (nzcjy%18) when 0 then 1 else 0 end ) AS szcjy2 FROM .....ORACLE
Select sum(ncount) n1 , count(nid) n2, sum(decode(MOD(nzcjy,18),0,1,0)) szcjy2 FROM .....ACCESS
Select sum(ncount) AS n1 , count(nid) AS n2, sum(iif((nzcjy MOD 18) =0,1,0)) AS szcjy2 FROM .....SYBASE
老兄一语中的,我就是想实现如此功能,若sql不支持,请问有何高招,解决此问题,
关键是工作需要,最好不用存储过程,分几步实现,难道sql server还不如access,
但愿是我学艺不精,请高手指点迷津!多谢!必有高分奉送!
DECLARE @cnt int
SELECT @cnt=COUNT(*) From table2
SELECT SUM(CASE WHEN @cnt>0 THEN Fld1 ELSE Fld2 END ) From table1
我在做同时适用于Access和Sql server的一个过程,
你的方法不能直接应用,但还是谢谢你的热心,以后多交流,
如有空,请告知E-mail地址,现送上20分,别嫌少.
如果你把情況說清楚一點,我想是會有辦法解決的。
我的e-mail : [email protected]