Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida sub-select


Marcelo Damasceno

Pergunta

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.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...