日期:2014-05-17  浏览次数:21059 次

关于查询当行返回多行
初学不是很懂,SELECT (SELECT answer FROM student1 WHERE student_id=85 ) sbp ,
(SELECT answer FROM student1 WHERE student_id=86 ) dbp
FROM student t_v WHERE enable_flag=1
结果显示单行自查询返回多个行,怎么理解

------解决方案--------------------

--这个Query要干嘛啊...select 的column返回多行肯定报错SELECT (SELECT answer FROM student1 WHERE student_id=85 ) sbp 
      ,(SELECT answer FROM student1 WHERE student_id=86 ) dbp
  FROM student t_v 
 WHERE enable_flag=1


------解决方案--------------------
子查询在select 上只能有1条结果
这样可以、
select (
        select 2
        from dual
       )  one_
from dual;


2个结果不行
select (
        select 2
        from dual
        connect by level<=2
       )  one_
from dual;


子查询放到select 不好
不如用Join