如何从oracle的子查询中获取多行?

时间:2017-11-22 11:23:11

标签: sql oracle

1.子查询如何在oracle db中返回多行。目前我收到错误 - 单行子查询为以下查询返回多行

SELECT TXN_NO,(SELECT AMT FROM TABLE1 WHERE ACC_NO='222') AS AMT FROM TABLE1
  1. 输出就像这样
  2. TXN_NO | AMOUNT

    100    | 2500
    
    100    | 3000
    

2 个答案:

答案 0 :(得分:1)

子查询可以返回多行,例如,使用MULTISET,但是这个任务可以简单地完成。易:

select t1.txn_no, t2.amt
from table1 t1, table1 t2
where t2.acc_no = '222'
顺便说一下,你确定笛卡尔加入是你真正需要的吗?

答案 1 :(得分:0)

根据您的预期输出意味着,我甚至不确定您是否需要一个子查询,因为您已经编写了它。请尝试以下查询:

SELECT TXN_NO, AMT
FROM TABLE1
WHERE ACC_NO = '222'
ORDER BY TXN_NO;