sql 怎么把不满足条件的显示为null

求sql:
表A用户表 {sid,sname}
sid sname
1 张三
2 李四
3 王五
表B交易表 {gid,sid,交易金额,交易量,交易时间}
gid sid 交易金额 交易量 交易时间
1 1 10 4 20080808
2 1 34 6 20090409
3 2 45 8 20200908
4 1 5 22 20120907
5 2 55 2 20110101
6 3 44 8 20030908
求一条:查出所有用户 某段时间内的 交易金额总计 与交易量总计?
如:20080101 到20121221 之间的数据
sid sname 总金额 总量
1 张三 49 32
2 李四 55 2
3 王五 null null

求能查出上面数据的sql..

主要是第三行的 null 不知道怎么实现,谢谢!
3 王五 null null

不知道这条怎么显示出来,就是怎么把NULL显示出来,现在查询的结果是
3 王五 就是NULL的地方是空

第1个回答  2012-09-01
这是左外连接产生的结果,就是采用左表所有记录,匹配右表,若右表没有相应记录,则以NULL显示
大致的SQL语句如下:
SELECT A.sid, A.sname, t.money, t.amount
FROM A left outer join
(SELECT sid, sum(交易金额) as money, sum(交易量) as amount
FROM B WHERE 交易时间 BETWEEN(。。。,。。。)
GROUP BY sid) t
ON A.sid = t.sid
第2个回答  2012-09-01
给你个思路
SELECT t.sid, t.sname , (SELECT CASE WHEN (t.总金额< 45) THEN (null)
ELSE (t.总金额) END AS Expr1) AS 总金额),
(SELECT CASE WHEN (t.总量<2) THEN (null)
ELSE (t.总量) END AS Expr1) AS 总量)
FROM t

sql 怎么把不满足条件的显示为null
这是左外连接产生的结果,就是采用左表所有记录,匹配右表,若右表没有相应记录,则以NULL显示 大致的SQL语句如下:SELECT A.sid, A.sname, t.money, t.amount FROM A left outer join (SELECT sid, sum(交易金额) as money, sum(交易量) as amount FROM B WHERE 交易时间 BETWEEN(。。。...

sql如何将不存在的结果用 null显示,例如查询选课表时,如果有的同学没有...
这样的连接方式,如果学生没选课,那么选课表的信息就是NULL。但是会显示学生表的信息

SQL 语句 把一个值为0的字段改为空('null')
1.首先要判断a字段是否可以设为空值:右键选择表,点击设计,查看字段允许null值是否打勾,打勾为可以设为空值。2.还要检查字段的数据类型是否为字符型,int类的空值会被设置为0。更改数据类型的语句为:alter table 表名 alter column 列名 char(20) null.两部都没问题后,在采用update A set a='null...

sql server 2000如何多条件 where in 选择,让不符合的条件也返回...
可以实现 比如你12345放在一张表如表B select b.num,a.word from b left join a on a.num=b.num 这样这个地方的 a.word就是显示null,有程序界面就是空白的

sql中如何将已经赋值的字段变为原有的null
1.sql语句法 新建一个查询,使用语句设置:update p_order set finish_time=null where id='XXXX'2.navicat for mysql中设置 双击打开p_order表,通过时间排序找到该条需要修改的记录,在该条记录的finish_time上直接右键(不需要删除数据),右键后会有设置为Null(英文是:Set to Null),结果就...

sql 2008 尝试将不可为NULL的列的值设置为NULL,该怎么处理
1、你的理解是错误的,你说的null是字符,而你说的【NULL】应该是SQL内置的空值。2、关系型数据库中的主键均不能为空,不管是单一列做为主键还是多列组合做为主键,都是不允许的3、主键的概念你还不清楚,下面给你一些参考材料,你阅读后就会明白。【主键(primary key)是表中的一个或多个字段,...

sql语句中如何为新增列指定为NOT NULL?
主键肯定不能为not null。再一个就是看看是否有约束了。ALTER TABLE 只可以添加满足下述条件的列: 列可以包含空值;或者列具有指定的 DEFAULT 定义;或者要添加的列是标识列或时间戳列;当然,如果前几个条件均未满足,表必须为空以允许添加此列。不能将列"xxx"添加到非空表"xx"中,它不满足上面...

oracle 查询显示不符合条件的语句或者空语句显示成null
用左联接:select p.devicecodeS ,z.nodename ,z.nidename ,z.direction ,z.roadtype ,p.status from (select r.linkid as devicecodeS,count(r.status) as status from ROADSTATUSHISTORY r where '2012-07-11 00:00:00'<to_char(r.timetag,'yyyy-MM-dd hh24:mi:ss')and '2012-...

sql 2008 尝试将不可为NULL的列的值设置为NULL,该怎么处理
1、你的理解是错误的,你说的null是字符,而你说的【NULL】应该是SQL内置的空值。2、关系型数据库中的主键均不能为空,不管是单一列做为主键还是多列组合做为主键,都是不允许的3、主键的概念你还不清楚,下面给你一些参考材料,你阅读后就会明白。【主键(primary key)是表中的一个或多个字段,...

求一Sql语句:使用左连接,没有满足条件的记录会自动赋null值,请问如何修 ...
一. 基本概念 Null 是一特殊指标值(或是一种物件参照 reference)表示这个指标并不指向任何的物件。二. Nullvalue 在许多定义里,null 可以是 three-valued logic, with null 意指 "no value" 或是 "unknown value"。SQL数据库查询语言使用 null 在这种地方上,如同在Visual Basic 及其衍生语言。于此...

相似回答