Однорядный подзапрос возвращает более одной строки в Oracle - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь написать запрос в 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')
);

Я запутался, почему это снова и снова дает эту ошибку. Пожалуйста, помогите

1 Ответ

1 голос
/ 28 мая 2019

Наиболее вероятная проблема здесь:

set resale_am = (select target_resale 
                 from Quote_line_part_quantity 
                 where quote_id = 100218906
                )

Лучший способ решить эту проблему неясен, но добавление and rownum = 1 решит вашу непосредственную проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...