Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia, tudo bem?
Sr.s estou desenvolvendo uma view e a questão é, a função é retonar cod. de pessoas e suas cidades, porém um usuário especifico neste meio tem que retornar apenas a cidade 'Campinas' e os demais tanto faz.
Ex:
Roando São Paulo
Ronado Barretos
Thiago Ribeirão Preto
Thiago Araras
Leandro Campinas
Seria algo simples, mas para isso precisei fazer o CASE para que quando fosse o cod. 173(Leandro) e cidade Cod. 8493(Campinas) traga todos de Campinas, os demais não importa, porém é preciso sair no relatorio. Veja o criterio.
and p.seqpessoa = (select z.seqpessoa --, count(z.seqpessoa)
from mad_clienterep z, mad_representante w
where z.nrorepresentante = w.nrorepresentante
and z.seqpessoa = p.seqpessoa
and w.nroempresa = c.nroempresa
and w.nroequipe = (select rr.nroequipe
from mad_representante rr,ge_pessoa pp
where w.nrorepresentante = rr.nrorepresentante
and pp.seqpessoa = rr.seqpessoa
and w.nroempresa = rr.nroempresa
and rr.tiprepresentante not in ('T')
-- and rr.nrorepresentante in (426,427)
and pp.fantasia not like ('%FUNCIONARIA TELEVENDAS%')
and pp.fantasia not like ('%FUNCIONARIO TELEVENDAS%'
)
and w.seqrepresentante in (case when w.nrorepresentante = 427 then 9519 end)
and z.status = 'A'
and w.tiprepresentante not in ('E','T') --> incluido em 26/06/2014 >> para não trazer representante tipo televendas ou empresa
group by z.seqpessoa
)
Ele retorna apenas, o Leandro e Campinas os demais não está trazendo o que devo fazer.
Obrigado.
Bom dia, tudo bem?
Prezados, ainda estou com um problema relacionado, a questão é a seguinte. Preciso que mostre assim, Caso comprou o cod. da marca 379 vc diz Grendene caso não vc coloca "não comprou" eu fiz um case, porém ele está retonarndo os dois valores quando ele compra, no caso Grandene e Não comprou. Eu vi que o case não da para utilizar o Or por este motivo esta retornando os dois alguem poderia me ajudar,
Veja
(case when g.seqmarca = 379 then decode(g.seqmarca,'379','Grendene')
when g.seqmarca <> 379 then 'Não compra Grendene' end ) as Marca,p.atividade
(Case when g.seqmarca = 379 then 'Grendene' else 'Não compra Grendene' end ) as Marca,p.atividade
Brow ainda está duplicando, pois está funcionando assim o cliente comprou sim então Grendene o mesmo cliente fez um pedido naquele mesmo periodo mas não comprou Grendene então retorna "Não comprou", eu preciso que ele comrprou uma vez no mes apenas ok então retonar, não quero que informe que ele fez outro pedido e não comprou, está complicado =\
select distinct c.seqpessoa as cliente,p.nrocgccpf||'.'||p.digcgccpf as CNPJ,p.cidade,c.statuscliente,
--(Case when f.seqmarca = 379 then 'Grendene' else 'Não compra Grendene' end)
(case when f.seqmarca = 379 and ( select count (cc.seqpessoa) from ge_pessoa cc where cc.seqpessoa = c.seqpessoa and f.seqmarca = 379 ) = 1 then decode(f.seqmarca,'379','Grendene') else 'Não compra Grendene' end)
-- when \*f.seqmarca <> 379 and *\( select count (vv.nropedvenda) from mad_pedvenda vv where vv.nropedvenda = i.nropedvenda) = 1 then 'Não compra Grendene' end )*/ p.atividade
from mrl_cliente c, ge_pessoa p,map_produto m,map_familia f,mad_pedvenda v,mad_pedvendaitem i,map_marca g
where p.seqpessoa = c.seqpessoa
and f.seqfamilia = m.seqfamilia
and f.seqmarca = g.seqmarca
and v.seqpessoa = c.seqpessoa
and ( select count (cc.seqpessoa) from ge_pessoa cc where cc.seqpessoa = c.seqpessoa ) = 1
and i.nropedvenda = v.nropedvenda
and m.seqproduto = i.seqproduto
and c.seqpessoa in (30412)
and p.atividade = 'SUPERMERCADO'
--and f.seqmarca = 379
and v.dtainclusao between '01-oct-2014' and '20-oct-2014'
and c.statuscliente = 'A'
and c.nroempresa = 1
and v.nroempresa = 1
and p.uf = 'SP'
--group by m.seqproduto,c.seqpessoa,p.nrocgccpf,p.digcgccpf,p.cidade,c.statuscliente,p.atividade,g.seqmarca
Realmente está complicado de entender o problema, vamos lá!
Você quer que quando o cliente fizer um pedido que a marca seja 379, mostre para você Grendene, e se o mesmo cliente fizer um outro pedido que não seja a marca 379, ainda assim tem que aparecer Grendene somente, pois ele já comprou anteriormente.
Porém se o cliente nunca comprou a marca 379 então mestre 'Não compra Grendene'.
Seria isso ?
Faça um group by somando o valor comprado , se for maior que zero >> comprou.
Não sei se é isto ....
and ( (w.nrorepresentante = 427 and w.seqrepresentante = 9519)
or
(w.nrorepresentante <> 427) )