使用in和select更正sql语句

使用in和select更正sql语句,sql,Sql,这句话对吗?它似乎不显示任何值,即使数据库中存在具有该标签号的值。我做错了什么?您的查询似乎正确 但是,如果要返回任何结果,条件应该为true。 就是你的质疑, select * from at_production_scan_det where scanvalue in (SELECT relatedcontainer from label_automotive where labelnumber = '122208467') 应该是返回值,对应于生产扫描数据表

这句话对吗?它似乎不显示任何值,即使数据库中存在具有该标签号的值。我做错了什么?

您的查询似乎正确

但是,如果要返回任何结果,条件应该为true。 就是你的质疑,

select *
from at_production_scan_det 
where scanvalue in
   (SELECT relatedcontainer 
    from label_automotive 
    where labelnumber = '122208467') 
应该是返回值,对应于生产扫描数据表的
scanvalue
字段。 例如,如果第一个查询返回10、11、12,则子句中的
将像下面的
语句一样工作

SELECT relatedcontainer 
from label_automotive 
where labelnumber = '122208467'

这种说法似乎是正确的。你能分享你的数据吗?是一个表
中的
relatedcontainer
的值吗?在生产扫描数据列
scanvalue
你能显示样本数据吗?如果subselect显示一个值,而select没有,那就意味着
relatedcontainer
返回的值永远不等于
scanvalue
select *
from at_production_scan_det 
where (scanvalue = 10 OR scanvalue = 11 OR scanvalue = 12)