single row subquery returns more than one row

18/01/2019

11

preciso fazer esta query trabalhar mas ela reclama de muitas linhas no substr

update 
    pcprodut 
set 
    pcprodut.codgenerofiscal = (
                                    select 
                                        substr(pcprodut.codncmex,0,2) 
                                    from 
                                        pcprodut 
                                    where 
                                        pcprodut.codprod in(10889,10890)
                               ) 
where 
    pcprodut.codprod in (10889,10890)
Responder

Posts

tente assim:
update
    pcprodut 
set
    pcprodut.codgenerofiscal in (
                                    select
                                        substr(pcprodut.codncmex,0,2) 
                                    from
                                        pcprodut 
                                    where
                                        pcprodut.codprod in(10889,10890)
                                    group by 1
                               ) 
where
    pcprodut.codprod in (10889,10890)

note que troquei o sinal de igual pelo operador 'in' e adicionei o group by
Responder

18/01/2019

João Teixeira

tente assim:
update
    pcprodut 
set
    pcprodut.codgenerofiscal in (
                                    select
                                        substr(pcprodut.codncmex,0,2) 
                                    from
                                        pcprodut 
                                    where
                                        pcprodut.codprod in(10889,10890)
                                    group by 1
                               ) 
where
    pcprodut.codprod in (10889,10890)

note que troquei o sinal de igual pelo operador 'in' e adicionei o group by


Consegui resolver usando a seguinte expressão:

update 
    pcprodut 
set 
    pcprodut.status = (substr(pcprodut.codncmex,0,2)) 
where 
    pcprodut.codprod in(varios, codigos, numericos, separados, por, virgula);
commit;
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar