Eu utilizei como exemplo as tabelas

Create CREATE TABLE wfiscal.di00800 na verdade seria wfiscal.di00358
CREATE TABLE wfiscal.cd00000 e wfiscal.cd00358

2015-12-29 15:46 GMT-02:00 Thiago H. Barreto <thi...@sedcontabilidade.com.br
>:

> Boa tarde caros colegas.
>
> Estou precisando da ajuda, pois estou quebrando a cabeça e não esta saindo
> nada...
>
> Preciso atualizar um campo em uma tabela na minha base de dados.
>
> A estrutura é a seguinte das tabelas:
>
> CREATE TABLE wfiscal.di00800
> (
>   iddipi character varying(40) NOT NULL,
>   idnota character varying(40),
>   idclassificacao integer,
>   desccomplementar character varying(20),
> CONSTRAINT di00800_idxprimario PRIMARY KEY (iddipi));
>
> CREATE TABLE wfiscal.cd00000
> (
>   idcodigo character varying(40) NOT NULL,
>   dtinicial timestamp without time zone,
>   dtfinal timestamp without time zone,
>   cdcodigo integer,
>   cdclassificacao character varying(20),
>   nmdescricao character varying(53),
> CONSTRAINT cd00000_idxprimario PRIMARY KEY (idcodigo));
>
> Preciso atualizar o campo d*esccomplementar* da tabela *di00358* com o
> valor do campo *nmdescricao *da tabela *cd00358*, ressaltando que o
> tamanho do campo *nmdescricao *da tabela *cd00358* tem 53 caracteres e o
> campo desccomplentar tem apenas 20, então tenho que utilizar a função
> *substr*, porem ai que vem o problema, como vou fazer para realizar esta
> atualização?
>
> Eu utilizei o comando para atualizar os produtos com o valor XXX, porem
> quero saber como faço para atualizar os valores com os valores do campo de
> outra tabela e ainda pegar apenas os 20 primeiros caracteres, eu li que a
> função SELECT SUBSTR (Campo_tabela,1,20) ela pega o valor do campo da
> posição inicial 1 até a 20, porem utilizar este comando pegando os dados de
> uma outra tabela....
>
> Segue script.
>
> update wfiscal.di00800 set desccomplementar = 'XXX' where idclassificacao
> in(select distinct(DI.idclassificacao) from wfiscal.di00800 as DI,
> wfiscal.cd00800 as CD where DI.idclassificacao = CD.cdcodigo
> and DI.data_movimento = '01-11-2015')
>
> Desde já, muito obrigado.
>
>
>
>
>
>
>
>
> *Lembre-se de que ao evitar o desperdício, além de economizar dinheiro com
> papel e tinta, você também ajuda o nosso planeta. Bom para seu bolso,
> melhor para o mundo!*
>










*Lembre-se de que ao evitar o desperdício, além de economizar dinheiro com
papel e tinta, você também ajuda o nosso planeta. Bom para seu bolso,
melhor para o mundo!*
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a