select * from A where id in ( select aid form b where id = m )
if “select aid form b where id = m” 查出来的为空 该怎么处理啊 (不用过程和函数)
------解决方案--------------------
你的问题是啥啊?没感觉这句话没有啥问题啊?
select * from A where id in ( select aid form b where id = m )
查询子句如果为NULL,无非就是整个语句没有任何返回呗。
------解决方案--------------------
如果查询结果为空,那返回结果也为空啊,建议楼主自己试试啊,加油啊.
------解决方案--------------------
不会报错,查询结果为0条记录
------解决方案--------------------
------解决方案--------------------
不报错。。。。你报的是什么错,缺失表达式?
------解决方案--------------------
select * from A where id in ( select aid form b where id = m )
报错,这个我还真没试过,那么改成表连接吧:
select A.*
from A join B on A.id = B.aid
where B.id = m
------解决方案--------------------
SQL> select * from city where name in ('');
PROVINCE_NAME NAME POST_CODE EN_NAME NODE_ID
------------------------------ ------------------------------ --------- ------------------------------ ---------------------------------------
------解决方案--------------------
- Java code
SQL> select * from city where name in (); PROVINCE_NAME NAME POST_CODE EN_NAME NODE_ID------------------------------ ------------------------------ --------- -----------------
------解决方案--------------------
SQL> select * from IFLOW_INTERTRY where id in (NULL);
ID GROUPID USERID PROCESSID DEPARTMENTID WRITERDATE TELEPHONE THEME TITLE ENCLOSURE DEPARTCANCEL DEPARTOPINION FUZONGNAME FUZONGSIGN RELATIVENAME RELATIVESIGN LEADNAME LEADEXAMINE OPERTIME ZONGBANMISHUID GONGSILINGDAOID
-------------------- ------- -------------------- --------
大哥,没报错,如果报错,把报错信息放上来
------解决方案--------------------
我记得in是不报错的,看你们吵的热烈,我又去MySQL中试了下:
Select * From A Where A.id in (Select B.sid From B Where B.id = 1)
A、B 两个表都是空表,没报错,正常执行。
楼主你说的出错,查询子句是自己用拼装字符串的方式去搞的?
------解决方案--------------------
- Java code
SQL> select name from city where node_id='19'; NAME------------------------------ SQL> select * from city where name in (select name from city where node_id='19'); PROVINCE_NAME NAME POST_CODE EN_NAME NODE_ID------------------------------ ------------------------------ --------- -------------