sql 子查询中部分数据有空值,怎么返回0,NULL+数字=null出来不可以

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 子查询中部分数据有空值,怎么返回0,NULL+数字=null出来不可以相关的知识,希望对你有一定的参考价值。

UPDATE A set BYZD10 =((SELECT distinct(JF)
FROM B where VIPBH=V_VIPSET.DM and fx='增加' and LX='99-期末')
+(SELECT distinct(JF) FROM B where VIPBH=V_VIPSET.DM and fx='增加'
and LX='00-期初'))

遇到类似问题可以参考这个

comm列有很多记录的值为NULL,因为任何东西与NULL相加结果还是NULL,所以结算结果可能会出现NULL。下面使用了把NULL转换成数值0的函数IFNULL:

SELECT *,sal+IFNULL(comm,0) FROM emp;

参考技术A

如果是sqlserver ,用 isnull,如果是oracle,用nvl,mysql则用 ifnull

UPDATE A set BYZD10 =(isnull(SELECT  distinct(JF)  
FROM B where VIPBH=V_VIPSET.DM and fx='增加' and LX='99-期末'),0)
+(isnull(SELECT  distinct(JF) FROM B where VIPBH=V_VIPSET.DM and fx='增加'
 and LX='00-期初'),0))

追问

语法错误
消息 156,级别 15,状态 1,第 1 行
关键字 'SELECT' 附近有语法错误。
消息 102,级别 15,状态 1,第 2 行
')' 附近有语法错误。
消息 102,级别 15,状态 1,第 4 行
',' 附近有语法错误。

追答UPDATE A set BYZD10 =isnull((SELECT  distinct(JF)  
FROM B where VIPBH=V_VIPSET.DM and fx='增加' and LX='99-期末'),0)
+isnull((SELECT  distinct(JF) FROM B where VIPBH=V_VIPSET.DM and fx='增加'
 and LX='00-期初'),0))

sql怎么用查询结果作为条件进行查询

1、单行子查询 :单行子查询是指子查询的返回结果只有一行数据。当主查询语句的条件语句中引用子查询结果时可用单行比较符号(=, >, <, >=, <=, <>)来进行比较。

2、多行子查询:多行子查询即是子查询的返回结果是多行数据。当主查询语句的条件语句中引用子查询结果时必须用多行比较符号(IN,ALL,ANY)来进行比较。其中,IN的含义是匹配子查询结果中的任一个值即可("IN" 操作符,能够测试某个值是否在一个列表中),ALL则必须要符合子查询的所有值才可,ANY要符合子查询结果的任何一个值即可。而且须注意ALL 和ANY 操作符不能单独使用,而只能与单行比较符(=、>、< 、>= 、<= 、<>)结合使用。

学习,是指通过阅读、听讲、思考、研究、实践等途径获得知识和技能的过程。学习分为狭义与广义两种:

狭义:通过阅读、听讲、研究、观察、理解、探索、实验、实践等手段获得知识或技能的过程,是一种使个体可以得到持续变化(知识和技能,方法与过程,情感与价值的改善和升华)的行为方式。例如通过学校教育获得知识的过程。

广义:是人在生活过程中,通过获得经验而产生的行为或行为潜能的相对持久为方式。

社会上总会出现一种很奇怪的现象,一些人嘴上埋怨着老板对他不好,工资待遇太低什么的,却忽略了自己本身就是懒懒散散,毫无价值。

自古以来,人们就会说着“因果循环”,这话真不假,你种什么因,就会得到什么果。这就是不好好学习酿成的后果,那么学习有什么重要性呢?

物以类聚人以群分,什么样水平的人,就会处在什么样的环境中。更会渐渐明白自己是什么样的能力。了解自己的能力,交到同水平的朋友,自己个人能力越高,自然朋友质量也越高。

在大多数情况下,学习越好,自身修养也会随着其提升。同样都是有钱人,暴发户摆弄钱财只会让人觉得俗,而真正有知识的人,气质就会很不一样。

高端大气的公司以及产品是万万离不了知识的,只有在知识上不输给别人,才可以在别的地方不输别人。

孩子的教育要从小抓起,家长什么样孩子很大几率会变成什么样。只有将自己的水平提升,才会教育出更好的孩子。而不是一个目光短浅的人。

因为有文化的父母会给孩子带去更多的在成长方面的的帮助,而如果孩子有一个有文化的父母,通常会在未来的道路上,生活得更好,更顺畅。

学习是非常的重要,学习的好坏最终决定朋友的质量、自身修养和后代教育等方面,所以平时在学习中要努力。
参考技术A 不太懂你想问什么,我写个语句你自己理解了。
SELECT * FROM 表格1 WHERE LIE1 IN (SELECT 列2 FROM 表格2);
也就是个子嵌套查询语句,查询表格1种所有列1出现在表格2列2种的数据。
这是你想要的吗?

以上是关于sql 子查询中部分数据有空值,怎么返回0,NULL+数字=null出来不可以的主要内容,如果未能解决你的问题,请参考以下文章

sql 问题子查询返回的值不止一个。

SQL查询时错误:子查询返回的值多于一个

SQL问题,子查询返回的值不止一个!

sql提示子查询返回的值不止一个,求解如何修改,谢谢。

sql怎么用查询结果作为条件进行查询

SQL 中部分数据的平均值