现在遇到个问题,我做一个数据统计
如:表
tb1(c1 int, c2 int)
tb2(c3 int, c4 int)select sum(c1),sum(c2),sum(c3),sum(c4)
from (select c1,c2,0 as c3,0 as c4 from tb1
union all
select 0 as c1,0 as c2 ,c3,c4 from tb2)当选择内容为null时,统计的结果也为:
c1 c2 c3 c4
null null null null现在我想要的结果,当选择的内容为null时,统计结果为
c1 c2 c3 c4
0 0 0 0如果问题我没有说明白,欢迎提问
请高手赐教,问题解决就结贴,万分感谢!!!
如:表
tb1(c1 int, c2 int)
tb2(c3 int, c4 int)select sum(c1),sum(c2),sum(c3),sum(c4)
from (select c1,c2,0 as c3,0 as c4 from tb1
union all
select 0 as c1,0 as c2 ,c3,c4 from tb2)当选择内容为null时,统计的结果也为:
c1 c2 c3 c4
null null null null现在我想要的结果,当选择的内容为null时,统计结果为
c1 c2 c3 c4
0 0 0 0如果问题我没有说明白,欢迎提问
请高手赐教,问题解决就结贴,万分感谢!!!
解决方案 »
- 存储过程错误.错误403:对数据类型而言运算符无效,运算符为add,类型为bit.
- SQL抽象查询
- sql 2000修改触发器向大侠求救
- 一百分,自认为很有难度的。 SQL:各学科后20%学生统计表。
- 急救。。。十万火急啊。救命啊。。。
- SQL 问题请教
- 请教如何把BMP图像输入IMAGE字段,又如何显示出来?
- invalid variant type conversion: 我一连上ms sql server 就出现这个错误
- 我在sqlserver2000下 使用sqldmo 做的程序,到sqlserver 7下运行 提示连不上数据库,请问怎样处理,谢谢
- 怎么取出一列数据中不连续的值的起止值
- 高手请指点这个触发器....等待中!
- 求一条sql语句,替换所有网址
--> 数据库版本:
--> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
--> 测试数据:tb1
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'tb1')
AND type in (N'U'))
DROP TABLE tb1
GO---->建表
create table tb1([c1] int,[c2] int)
insert tb1
select 12,32
GO--> 数据库版本:
--> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
--> 测试数据:tb2
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'tb2')
AND type in (N'U'))
DROP TABLE tb2
GO---->建表
create table tb2([c3] int,[c4] int)
insert tb2
select 32,12
GOselect sum(c1),sum(c2),sum(c3),sum(c4)
from (select isnull(c1,0) as c1,isnull(c2,0) as c2,0 as c3,0 as c4 from tb1
union all
select 0 as c1,0 as c2 ,isnull(c3,0) as c3,isnull(c4 ,0) as c4 from tb2) t
--> 删除表格
--DROP TABLE tb2
from (select c1,c2,0 as c3,0 as c4 from tb1
union all
select 0 as c1,0 as c2 ,c3,c4 from tb2)
--使用isnull(X,y)函数 如果X为NULL 则返回Y
--例子:
-- SELECT ISNULL(NULL,0)返回0
-- SELECT ISNULL(1,0)返回1
select isnull(sum(c1), 0),isnull(sum(c2), 0),isnull(sum(c3), 0),isnull(sum(c4), 0)
from (select c1,c2,0 as c3,0 as c4 from tb1
union all
select 0 as c1,0 as c2 ,c3,c4 from tb2)
from (select c1,c2,0 as c3,0 as c4 from tb1
union all
select 0 as c1,0 as c2 ,c3,c4 from tb2) a