Vou analisar amanha.

Obrigado.

2015-12-29 16:53 GMT-02:00 Marcos Thomaz <marcosthom...@gmail.com>:

>
>
> Em 29 de dezembro de 2015 12:48, Thiago H. Barreto <
> thi...@sedcontabilidade.com.br> escreveu:
>
>> 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
>>
>
>
> Tentou algo assim??:
>
> update wfiscal.di00800 set desccomplementar = 
> substr(wfiscal.*cd00358.**nmdescricao,
> 1, 20) *
> from wfiscal.*cd00358 *
> *where* wfiscal.di00800.cdcodigo = wfiscal.*cd00358*.idclassificacao and
> wfiscal.di00800.data_movimento = '2015-11-01'
>
> Qualquer coisa, dá uma olhada em
> http://www.postgresql.org/docs/9.4/static/sql-update.html
>
> --
>
>
> Marcos Thomaz da Silva
> Analista de Tecnologia da Informação
>
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>  Este
> e-mail foi enviado por um computador sem vírus e protegido pelo Avast.
> www.avast.com
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
> <#151ef165c27249d2_DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Thiago H. Barreto
Sed Contabilidade S/S Ltda
(34) - 3662-1124
thi...@sedcontabilidade.com.br







*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