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ção4***, 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.
Pergunta
Marcelo Damasceno
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.