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