case WHEN ANY(SELECT bb.QUANTITYAMOUNT FROM bb)=0 你这个BB表里面的数据就一行的话 就对,否则就不对
case when 表达式表达式一般都写的是 对字段的判断 ,没见过你这么写的。
case when 表达式表达式一般都写的是 对字段的判断 ,没见过你这么写的。
解决方案 »
- 如果表B查不到表A的记录时????????
- windows server 2003和 windows SQL server 2003 有什么区别
- 我在SQL中导入EXCEL文件时报右截位错误
- 各位大侠,sql server 2005 安装过程中出现乱码,请问怎么解决?
- 这么简单的SQL错在那里?
- 有什么办法可以把sql2000默认端口1433改成3322了后,远程连接时不用输端口3322?
- 红球号码有0、1、2、3、4、5、6个相同时如何统计出来
- 求一条SQL sever2000 语句
- 3、数据库高深问题。(高手请进)
- ODBC的问题,请高手务必帮忙!!
- 企业管理器问题
- char型的字段如何使新加的记录自动加1?
THEN (SELECT bb.AMOUNT FROM bb WHERE bb.QUANTITYAMOUNT=0)
ELSE (SELECT bb.AMOUNT FROM bb WHERE bb.QUANTITYAMOUNT>0)
END
这样试试
否则为null
再结合问题如何表达呢
--建表
create table bb(id char(4),QUANTITYAMOUNT decimal(9,2),AMOUNT decimal(9,2))
select
(
case when exists(SELECT bb.QUANTITYAMOUNT FROM bb where id=bb.id and QUANTITYAMOUNT=0)
THEN (SELECT bb.AMOUNT FROM bb WHERE id=bb.id and bb.QUANTITYAMOUNT=0)
ELSE (SELECT bb.AMOUNT FROM bb WHERE id=bb.id and bb.QUANTITYAMOUNT>0)
END)
from bb
[sum]=case when bb.QUANTITYAMOUNT=0 then bb.AMOUNT else 0 end
from tb