我有个SQL语句,子查询里如果只有一个条件就不会报错,但是两条放在一起就有问题。1、执行整个SQL报错,说无效数字:select a.subjid from HADS a where a.HADSSN>=8 and (select count(*) from HA where subjid=a.subjid and HAMDSN is null)>0; 2、单独执行任一个子查询则不会报错。如select a.subjid from HADS a where a.HADSSN>=8 and (select count(*) from HA where subjid=a.subjid )>0; 或 select a.subjid from HADS a where a.HADSSN>=8 and (select count(*) from HA where HAMDSN is null )>0; 都不会报错,加在一起就报错,请高手指点,如果正确,我倾分感谢! subjid 为字符型。HAMDSN 为字符型 OracleselectSQL
from HA b,HADS a
where b.subjid = a.subjid
and b.HAMDSN is null
这种问题的思路就是一个条件一个条件的的查。
select subjid from(
select a.subjid as subjid ,hadssn,hamdsn from hads a,ha b where a.subjid=b.subjid)
where hadssn>8 and hamdsn is not null;貌似LZ是这个意思