Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
rogerioclaro2 Experiente

Registrado: Quinta-Feira, 17 de Outubro de 2013 Mensagens: 404
|
Enviada: Qua Jan 25, 2017 3:30 pm Assunto: Update com select[RESOLVIDO] |
|
|
Pessoal boa tarde!
Gostaria de uma ajuda de vocês.
Preciso realizar um update de um campo de uma tabela de acordo com o "select" e a condição web, porém fiz um processo, mas ele retorna erro
Código: |
update item i set i.valor =
(select f.prccompra
from
produto f)
where
i.data >= '01.01.2016'
|
Código: |
multiple rows in singleton select.
multiple rows in singleton select.
|
desde ja muito obrigado
Editado pela última vez por rogerioclaro2 em Qua Jan 25, 2017 4:04 pm, num total de 1 vez |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Jan 25, 2017 3:43 pm Assunto: |
|
|
Boa tarde,
Me parece que está faltando adicionar um filtro na subquery para que ela retorne somente o produto que está sendo atualizado no momento. Ex:
Código: | update item i
set i.valor = (select f.prccompra from produto f where f.idproduto = i.idproduto)
where
i.data >= '01.01.2016' |
Espero que ajude
Editado pela última vez por imex em Dom Out 01, 2023 4:06 pm, num total de 1 vez |
|
Voltar ao Topo |
|
 |
leo_cj Colaborador

Registrado: Sábado, 26 de Março de 2011 Mensagens: 1335
|
Enviada: Qua Jan 25, 2017 3:56 pm Assunto: |
|
|
outra opção seria
Código: | UPDATE i
SET i.valor = f.prccompra
FROM item i
JOIN produto f
ON i.idproduto = f.idproduto
WHERE i.data >= '01.01.2016' |
|
|
Voltar ao Topo |
|
 |
rogerioclaro2 Experiente

Registrado: Quinta-Feira, 17 de Outubro de 2013 Mensagens: 404
|
Enviada: Qua Jan 25, 2017 4:02 pm Assunto: |
|
|
imex escreveu: | Boa tarde,
Me parece que está faltando adicionar um filtro na subquery para que ela retorne somente o produto que está sendo atualizado no momento. Ex:
Código: | update item i
set i.valor = (select f.prccompra from produto f where f.idproduto = i.idproduto)
where
i.data >= '01.01.2016' |
Espero que ajude
|
Isso mesmo imex, obrigado. |
|
Voltar ao Topo |
|
 |
rogerioclaro2 Experiente

Registrado: Quinta-Feira, 17 de Outubro de 2013 Mensagens: 404
|
Enviada: Qua Jan 25, 2017 4:03 pm Assunto: |
|
|
leo_cj escreveu: | outra opção seria
Código: | UPDATE i
SET i.valor = f.prccompra
FROM item i
JOIN produto f
ON i.idproduto = f.idproduto
WHERE i.data >= '01.01.2016' |
|
isso leo, obrigado |
|
Voltar ao Topo |
|
 |
|