我试图在Oracle中编写一个查询,该查询将返回多行,但是通过此查询,我得到了“单行子查询返回的行多于一行”的信息,我尝试使用IN运算代替“ =”运算符,但我无法做到,这是我的查询
Update Quote_line_part_quantity
SET
resale_am =(
select target_resale
FROM Quote_line_part_quantity
where quote_id=100218906
)
WHERE
quote_id=100218906
AND quote_line_no IN(
SELECT
quote_line_no
FROM
Quote_Line
WHERE
quote_id IN 100218906
AND quote_line_no=(1)
AND Quote_line_status_cd IN('R','A')
);
我很困惑为什么这一次又一次给出此错误。请帮助
答案 0 :(得分:1)
最可能的问题在这里:
set resale_am = (select target_resale
from Quote_line_part_quantity
where quote_id = 100218906
)
解决此问题的最佳方法尚不清楚,但是添加and rownum = 1
将解决您的直接问题。