UPDATE COM SELECT USANDO MAX
Alterado em 21/02/2024 20:45:13
Boa noite pessoal
Possuo uma tabela de itens de minha venda (pedidos_itens)....
Digamos que eu tenha uma venda com 5 itens (5 registros)...
Tenho uma variavel do tipo Currency que tem armazenado nela "0,01"
Preciso selecionar todos os registros da venda com cod_pedido xxxx, escolher o ultimo desses 5 registros ("max(codigo)" e somar no campo "Desconto" o conteúdo da variável... atualizando somente o ultimo registo dos 5 selecionado no select...
Segue o exemplo:
Seria mais ou menos assim a ideia, MAIS NÃO ESTOU CONSEGUINDO FAZER ISSO NUMA MESMA CONSULTA/UPDATE.
Resumindo: Somar a variavel com o campo "desconto" do ultimo registo de um grupo filtrado no select.
Quem puder me ajudar, ficarei grato!
Possuo uma tabela de itens de minha venda (pedidos_itens)....
Digamos que eu tenha uma venda com 5 itens (5 registros)...
Tenho uma variavel do tipo Currency que tem armazenado nela "0,01"
Preciso selecionar todos os registros da venda com cod_pedido xxxx, escolher o ultimo desses 5 registros ("max(codigo)" e somar no campo "Desconto" o conteúdo da variável... atualizando somente o ultimo registo dos 5 selecionado no select...
Segue o exemplo:
Dim vDescItens As Currency
vDescItens = "0,01"
SELECT MAX(CODIGO) FROM pedidos_itens WHERE (cod_pedido = 3525)
UPDATE pedidos_itens SET desconto = (desconto + "vDescItens" ) where (cod_pedido = 3525)
Seria mais ou menos assim a ideia, MAIS NÃO ESTOU CONSEGUINDO FAZER ISSO NUMA MESMA CONSULTA/UPDATE.
Resumindo: Somar a variavel com o campo "desconto" do ultimo registo de um grupo filtrado no select.
Quem puder me ajudar, ficarei grato!
Acho que com uma subquery pode resolver:
UPDATE pedidos_itens
SET Desconto = Desconto + @valor
WHERE codigo = (
SELECT MAX(codigo)
FROM pedidos_itens
WHERE cod_pedido = 'xxxx'
);
KERPLUNK obg...
Deu 100% certo!
Deu 100% certo!
Tópico encerrado , respostas não são mais permitidas