Boa tarde pessoal!!
Tenho uma tabela que contém codprod,pvenda e codfilial entretanto as informações aparecem 3 vezes por conta da quantidade de filial que são 3.
Preciso pegar somente as linhas que contém pvenda diferente com sua respectiva filial e não igual conforme resultado abaixo:
pvenda codprod codfilial
1,19 1 1
1,19 1 2
Tentei vários SQL e estou enviando o menos errado:
select distinct pvenda,codprod,codfilial
from tabela
where codfilial not in (3)
order by 2,5
Dados diferentes
- tiago_pimenta
- Rank: DBA Júnior
- Mensagens: 213
- Registrado em: Qua, 29 Jun 2011 9:49 am
- Localização: Barretos / SP
Se eu entendi certo, você quer pegar os registros onde pvenda é diferente da filial ? Se for isso, acho que é o select abaixo:
select distinct pvenda,codprod,codfilial
from tabela
where pvenda <> codfilial
order by 2,5
-
- Rank: Programador Júnior
- Mensagens: 17
- Registrado em: Ter, 09 Nov 2010 2:46 pm
- Localização: cachoeiro de itapemirim - es
Nãp é isso, preciso que exiba somente as linhas que contiverem preços diferentes com filiais diferentes para os mesmos produtostiago_pimenta escreveu:Se eu entendi certo, você quer pegar os registros onde pvenda é diferente da filial ? Se for isso, acho que é o select abaixo:
select distinct pvenda,codprod,codfilial
from tabela
where pvenda <> codfilial
order by 2,5
- tiago_pimenta
- Rank: DBA Júnior
- Mensagens: 213
- Registrado em: Qua, 29 Jun 2011 9:49 am
- Localização: Barretos / SP
Existe a possibilidade de ter dois produtos (codprod) para a mesma filial (codfilial) ?
-
- Moderador
- Mensagens: 641
- Registrado em: Seg, 03 Set 2007 3:26 pm
- Localização: Fortaleza - CE
att,
Daniel N.N.
Daniel N.N.
O que poderia ser feito seria uma consulta que traria as informações filial/produto/valor, o que isso você já possui, e fazer um pivoteamento com as filiais(ou seja, transformar cada filial em uma coluna). Assim seria mais fácil verificar preços diferentes para mesmo produto.
Outra forma seria fazer um subselect na consulta como condição "WHERE EXISTS" onde teria os filtros:
Apesar de que quando tiver diferença nos valores irá trazer todas linhas do produto/filial, não apenas a que está "diferente".
Outra forma seria fazer um subselect na consulta como condição "WHERE EXISTS" onde teria os filtros:
select * from tabela fora
WHERE EXISTS(SELECT 1 FROM tabela interna
WHERE interna.produto = fora.produto
AND interna.filial = fora.filial
AND interna.preço = fora.preço)
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 12 visitantes