Ir para conteúdo
Fórum Script Brasil

Marcelo Damasceno

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Tudo que Marcelo Damasceno postou

  1. Olá Pessoal, Estou com a seguinte dúvida em relação ao comportamento de uma variável em uma função. A função é: def soma(x,y): if(len(x)==len(y)): soma=x for i in range(0,len(x)): soma[i]=x[i]+y[i] return soma else: print("O número de elementos é diferente") return 0 a=[1,2,3] b=[4,5,6] soma1=soma(a,B) print("1: ",soma1) print(a) soma2=soma(a,[8,8,8]) print(soma2) A saída está sendo: 1:[5,7,9] [5,7,9] [13,15,17] O problema é o seguinte: Ele está atribuindo a variável a o valor retornado pela função soma(a,B). Lembre-se que não estou usando a variável a dentro da função, estou usando x. Nem estou atribuindo a a o valor soma(a,B) em nenhum momento. ALguém poderia me explicar o porque disto estar acontecendo. Se ajudar estou usando o Python 3.2 com Idle no Ubuntu. Obrigado.
  2. Olá, Eu tenho a seguinte query: select distinct ger_nfs.nf_dtemis as 'Data', emp_ds as 'Empresa', Funcionario=fun_nmguerra, pad_ds as Familia, modelo.mod_vlpub+sum(opcionais.opc_vlpub)+isnull(id_vl,0) as 'Valor Público', (ger_nfs.nf_vlliquido - (select isnull(sum(propp_Vl ),0) from Vouga.dbo.vec_propp (nolock) INNER JOIN Vouga.dbo.vec_prop (nolock) ON (vec_propp.prop_nr = vec_prop.prop_nr) INNER JOIN Vouga.dbo.tab_tpagprop (nolock) ON (tab_tpagprop.tpagprop_cd = vec_propp.tpagprop_cd and ISnull(tpagprop_margem,'S') = 'N' ) where vec_prop.nf_nr = ger_nfs.nf_nr and vec_prop.nf_serie = ger_nfs.nf_serie)) as 'Valor Venda', ger_nfsv.nf_margem from Vouga.dbo.ger_ve,Vouga.dbo.ger_veo,Vouga.dbo.tab_mod,Vouga.dbo.tab_pad,Vouga.dbo.ger_nfsv,Vouga.dbo.ger_nfs,Vouga.dbo.tab_fun,Vouga.dbo.ger_emp, 1*** (select distinct mod_cd, mod_vlpub,mod_dt from Vouga.dbo.tab_modp B where mod_dt = (select max(mod_dt)from Vouga.dbo.tab_modp C where C.mod_cd = B.mod_cd and mod_dt<='09/30/2008')) as modelo, 2*** (select distinct opc_dt, opc_cd, opc_vlpub,grmod_cd from Vouga.dbo.tab_opcp B where opc_dt = (select max(opc_dt)from Vouga.dbo.tab_opcp C where C.opc_cd = B.opc_cd and C.grmod_cd = B.grmod_cd and opc_dt<='09/30/2008')) as opcionais, 3*** (select distinct md_sigla, id_vl from Vouga.dbo.ger_id B where id_dt = (select max(id_dt)from Vouga.dbo.ger_id C where C.md_sigla = B.md_sigla)) and id_dt<='09/30/2008')) as frete where ger_nfs.est_cd in ('VN','DI','VL','VP') and ger_nfsv.nf_nr=ger_nfs.nf_nr and ger_nfsv.ve_nr=ger_ve.ve_nr and ger_ve.ve_nr=ger_veo.ve_nr and modelo.mod_cd=ger_ve.mod_cd and opcionais.opc_cd=ger_veo.opc_cd and opcionais.grmod_cd=ger_ve.mod_cd and tab_mod.mod_cd=modelo.mod_cd and tab_pad.pad_cd = tab_mod.pad_cd and tab_pad.md_frete = frete.md_sigla and ger_nfs.fun_vend=tab_fun.fun_Cd and ger_emp.emp_cd = ger_nfs.emp_cd and nf_dtcanc is null and 4*** ger_nfs.nf_dtemis between '01/01/2008' and getdate() group by pad_ds,emp_ds,ger_nfs.nf_dtemis,isnull(id_vl,0),modelo.mod_vlpub,ger_nfs.nf_vlliquido,ger_nfs.nf_serie,ger_nfs.nf_nr ,ger_nfs.nf_dtemis,ger_ve.ve_nr,fun_nmguerra,ger_nfsv.nf_margem Eu queria as restrições de data<='09/30/2008' dos n*** sub-selects obedecem a restrição 4***, isto é, variando entre 01/01/2008 e a data de hoje. Como eu posso fazer isso? Se eu colocar o campo nf_dtemis na restrição, retorna campo não encontrado com razão. Muito Obrigado por qualquer resposta.
×
×
  • Criar Novo...