为什么像图一那样查询不可以,像图二和图三那样拆开就可以了?
in 括号里面的子查询修改下,去除空和null
select * from
华东
where
公司代码 in
(select 公司代码 from 重新添加 where 公司代码 != '' and 公司代码 is not null )
重新添加 表里面有NULL值,IN 语句在 查询的结果有NULL值时 不适用。
组合查询时,mysql和oracle的语句是不一样的
第2查询结果集有空字段 in 语句里不能有 null
in (select ‘公司代码’from '从新添加' )作为查询条件的话,前提是你的'公司代码'字段不能为空,如果是空的就查不出来了
第2查询地方有null字段 这样语句不合理
in (select '公司代码' fro '重新添加' where '公司代码' != '') 这样 就可以了
in里面的语句 select 公司代码 from 重新添加 里面查出null导致的吧?后面加上where 公司代码 is not null 试试?
in 里面不能有null值 子查询过滤下吧
in 里面不能有null值 子查询过滤下吧
in 中有空值,查询语句换成单个有值字段
不可以有null值,过滤一下就好啦
Select * from table1 where a in(Select a from table2 where !ISNULL(a)) 过滤一下空值
in 中有空值,查询语句换成单个有值字段,子查询过滤下吧
SELECT id, documentId, originUrl, smallUrl,imageName, created_time FROM fileImage where documentId=?;
in 里面有null
上面说的对,就是空值 不能出现,过滤一下子查询的结果。应该不影响最后的结果的把
SELECT
*
FROM
华东 a
WHERE
EXISTS(SELECT 1 FROM 重新添加
b WHERE (a.公司代码
IS NULL AND b.公司代码
IS NULL) OR a.公司代码
=b.公司代码
)
SELECT
*
FROM
华东 a
WHERE
EXISTS(SELECT 1 FROM `重新添加` b WHERE (a.`公司代码` IS NULL AND b.`公司代码` IS NULL) OR a.`公司代码`=b.`公司代码`)
第二个位置有null,语句有问题
select t1.* from 华东 t1 , 重新添加 t2 where t1.'公司代码' in ( select t2.'公司代码' from 重新添加 t2 ); 我也遇到过,怎么解决不记得了。试一下这个
in 里面应该不能有空值把
in (select distinct‘公司代码’from '从新添加' where 公司代码
is not null )
UPDATE 表名 SET 字段名=‘内容’ [WHERE ‘条件’] 注意:[ ]中的内容可有可无。 举例:表名=ZHXX(账户信息) ,需要修改其中的DLMM(登陆密码),条件是DLMC(登陆名称)=soso. UPDATE ZHXX SET DLMM='123' WHERE DLMC='soso'
in里面查询条件不能有空值