2013/3/1 Marcelo da Silva <marc...@ig.com.br>:
> Pessoal tenho o seguinte UPDATE
>
> update mv_servicos_balcao as a set tipo = b.tipo
> from mv_vendas_pre as b
> where (b.pedido = a.pedido)
>
> Bem, vão existir alguns registros que não estão na tabela B, desta forma eu
> preciso que o TIPO seja 'F' por default
>
> Eu posso fazer 2 Updates, mas achei meio tosco
> Se eu pudesse usar Left Join colocaria um Coalesce(b.tipo, 'F') e me
> serviria, mas não encontrei como fazer isso no PG
>
> Terei que fazer 2 Update mesmo ?
>
>

Você pode referenciar a tabela mv_servicos_balcao também no FROM,
fazendo o LEFT JOIN com a tabela mv_vendas_pre.

UPDATE mv_servicos_balcao a
SET tipo = COALESCE(b.tipo, 'F')
FROM a1 LEFT JOIN mv_vendas_pre b ON (a1.pedido = b.pedido)
WHERE a.pedido = a1.pedido;
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a