1
resposta

subconsulta

ALguém sabe me dizer o porquÊ minha subconsulta está dando erro?

SELECT NUMERO, DATA_VENDA, CPF, MATRICULA FROM NOTAS WHERE CPF = (SELECT CPF, NOME, ENDERECO, BAIRRO FROM CLIENTE WHERE BAIRRO = 'Jardins'); mensagem de erro: ORA-00913: valores demais

  1. 00000 - "too many values" *Cause:*Action: Erro na linha: 3 Coluna: 14

SELECT NUMERO, DATA_VENDA, CPF, MATRICULA FROM NOTAS WHERE CPF = (SELECT CPF FROM CLIENTE WHERE BAIRRO = 'Jardins'); mensagem de erro: ORA-01427: a subconsulta de uma única linha retorna mais de uma linha

  1. 00000 - "single-row subquery returns more than one row" *Cause:*Action:
1 resposta

Emerson,

Eu acredito que basta você trocar "=" por "IN" que funciona...

Por favor, leia os textos dos links abaixo para entender o motivo da troca:

==========================================================

How to Resolve ORA-01427: single-row subquery returns more than one row by Ed ChenMay 15, 2018

A. ORA-01427 em SELECT com operador igual

Se o mecanismo SQL espera que sua subconsulta retorne uma única linha, ele pode lançar ORA-01427 quando a subconsulta retornar mais de uma linha inesperadamente. Por exemplo:

https://logic.edchen.org/how-to-resolve-ora-01427-single-row-subquery-returns-more-than-one-row/

==========================================================

ORA-01427: Subquery returns more than one row

SELECT *
FROM employers
WHERE client_id = (SELECT client_id
FROM clients
WHERE clients_name = ‘Walmart’) ;

https://www.tekstream.com/resource-center/ora-01427-error-message/

==========================================================

Oracle / PLSQL: ORA-01427 Error Message

SELECT *
FROM orders
WHERE supplier_id = (SELECT supplier_id
                     FROM suppliers
                     WHERE supplier_name = 'IBM');
SELECT *
FROM orders
WHERE supplier_id IN (SELECT supplier_id
                      FROM suppliers
                      WHERE supplier_name = 'IBM');

https://www.techonthenet.com/oracle/errors/ora01427.php

==========================================================

[]'s,

Fabio I.