SQL中子查询返回多行,如何解决,请大侠帮助

解决方案 »

  1.   

    你要怎么样呢?返回多行报错吗?还是你只要返回一条
    如果只要返回一条,直接在你的where的最后加上 and rownum=1
      

  2.   

    可以用>= ANY(ALL)(subquery)来处理.
      

  3.   

    那要么用 游标一条一条取,要么就 用 in 关键字去处理 集合数据,或者 exist 
      

  4.   

    使用in、exists、或者直接表连接!
      

  5.   

    关于多行报错——在通过SELECT语句查询时,返回的结果通常是多行记录组成的集合。这对于程序设计语言而言,并不能够处理以集合形式返回的数据,为此,SQL提供了游标机制。游标充当指针的作用,使应用程序设计语言一次只能处理查询结果中的一行。
      

  6.   

    用 in 
    select * from tab where id in (select t_id from table)
      

  7.   

    那要么用 游标一条一条取,要么就 用 in 关键字去处理 集合数据,或者 exist 
      

  8.   

    返回多行一定是你同一个查询条件的数据有多条 如果数据完全一致 可以取一条 子查询中增加rownum=1
      

  9.   

    我感觉搂主的最初相法纠错了。如果查询出多行很容易,但是查出来的数据,你是想给update、insert到其他表的话就不用这种方式吧?