MySQL的SQL查询异常,请问 如何修改?

为什么像图一那样查询不可以,像图二和图三那样拆开就可以了?图片说明图片说明图片说明

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里面查询条件不能有空值