select ordid from yb_scsyb41 where serialnumber='8820160125160811'
查出来的数据是 '8820160125161117','8820160125162845'
然后我用
select * from pati_out_order where ordid in (select ordid from yb_scsyb41 where serialnumber='8820160125160811')
没有数据
直接用查出来的数据
select * from pati_out_order where ordid in ( '8820160125161117','8820160125162845' )
是有数据的
很奇怪
用in的时候 查询结果的格式会改变吗
如果你第一个查询查出来的是两行数据,那么使用in是没有问题的
如果是一行,也就是说结果张这样“'8820160125161117','8820160125162845'”,那就不能使用in
那师兄遇到这种是一行的数据怎么办啊,当时填报的时候是字符串数组的形式填报的。
我试过字符串处理,但是没能成。
@周家飞少: 最笨的办法是使用like,这种最省事,但是效率不高,而且只能在特定环境下使用
where '%' || ordid || '%' like 你的子查询