Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Qual é o motivo deste erro, all, not in. O que poderia ser?
single-row subquery returns more than one row
Bom Dia!
Entendi, no meu caso seria assim...
**select **a.produto,b.endereço,
**(select **aa.produto **from **tabela aa **Where **aa.produto = a.produto **and **aa.empresa = 2)
from tabela a
where a.empresa = 1
Mesma coisa para select como colunas
Evite isto sempre que possível
caramba! me complicou pois além disso estou usando Union all =x
Uma solução que às vezes uso para estas colunas e criar FUNCTION que retornam valores unicos
Algo como (grosso modo)
create or replace funtion retorna_nome_cliente (pcodcli in number) return char
is
vs_sai cliente.nome%type;
begin
select nome into vs_sai from cliente where codcli = pcodcli;
return vs_sai; return null;
end;select ....,
retorna_nome_cliente(vendas.codcli) nome_cliente,
...
from vendas ....
where ....
Isto pode ser útil também com funções que retornem coisas do tipo
Saldo devedor do cliente
Ultima compra
Etc
Se tem uma query do tipo :
select *
from tabela1
where tabela1.campo1 = (select id from tabela2 where ...)
Com o "=" a subquery deve retornar no máximo 1 registro.