GARANTIR DESCONTO

Fórum Recebendo apenas as informações necessarias #507277

14/01/2015

0

Pessoal, boa tarde
Estou com uma duvida na verdade por ser iniciante no assunto tenho varias duvidas, essa é uma delas acho que até é deva ser facil rs, tenho uma query que traz dois código de item um é o código 1570 e o outro é o codigo 18543, bom se vocês repararem no print abaixo vera que o código 1570 no campo den_item_compon contem EP 6108-C que se repete no item 18543.

O que eu gostaria seria o seguinte quando o código do item fosse '1570' ele me mostrasse sim a EP 6108-C porém quando fosse o código '18543' ele me mostrasse o EP 6005 e não mostrasse o EP 6108-C.

Como devo proceder ?

Query:

SELECT
a.cod_empresa
,a.cod_item
,a.den_item_reduz
,a.ies_tip_item
,a.cod_item_compon
,a.den_item_compon
,a.cod_unid_med_compon
,a.gru_crt_estoq_compon
FROM nv_it_man_massa a
WHERE a.cod_empresa = '02'
AND a.cod_item in ('1570','18543')
AND a.ies_tip_item = 'F'
AND a.cod_unid_med_compon = 'KG'
ORDER BY 2,8

Resultado:

[img:descricao=Resultado]http://arquivo.devmedia.com.br/forum/imagem/402654-20150114-155105.gif[/img]
Dagoberto Neto

Dagoberto Neto

Responder

Posts

14/01/2015

Ronaldo Lanhellas

Seguindo sua lógica, o que você quer é o seguinte:

"( Mostre quando 1570) ou (18543 e diferente de EP 6108-C)"

Então tente o seguinte:

SELECT
a.cod_empresa
,a.cod_item
,a.den_item_reduz
,a.ies_tip_item
,a.cod_item_compon
,a.den_item_compon
,a.cod_unid_med_compon
,a.gru_crt_estoq_compon
FROM nv_it_man_massa a
WHERE a.cod_empresa = '02'
AND (a.cod_item = '1570' OR (a.cod_item = '18543' AND a.den_item_compon <> 'EP 6108-C') )
AND a.ies_tip_item = 'F'
AND a.cod_unid_med_compon = 'KG'
ORDER BY 2,8
Responder

Gostei + 0

14/01/2015

Ronaldo Lanhellas

Seguindo sua lógica, o que você quer é o seguinte:

"( Mostre quando 1570) ou (18543 e diferente de EP 6108-C)"

Então tente o seguinte:

SELECT
a.cod_empresa
,a.cod_item
,a.den_item_reduz
,a.ies_tip_item
,a.cod_item_compon
,a.den_item_compon
,a.cod_unid_med_compon
,a.gru_crt_estoq_compon
FROM nv_it_man_massa a
WHERE a.cod_empresa = '02'
AND (a.cod_item = '1570' OR (a.cod_item = '18543' AND a.den_item_compon <> 'EP 6108-C') )
AND a.ies_tip_item = 'F'
AND a.cod_unid_med_compon = 'KG'
ORDER BY 2,8
Responder

Gostei + 0

14/01/2015

Dagoberto Neto

Ronaldo, muito obrigado pela ajuda e atenção, fiz o teste realmente deu certo porém eu tenho uns 10.000 itens cadastrado e apenas o item 1570 tem que aparecer a EP 6108-C o restante também tem a EP 6108-C porém so vai mostrar a EP 6005, vou ter que colocar os restante dos itens um a um?
Responder

Gostei + 0

14/01/2015

Dagoberto Neto

Ronaldo,
Fiz dessa forma com base no que você me passou e deu certo

SELECT
a.cod_empresa
,a.cod_item
,a.den_item_reduz
,a.ies_tip_item
,a.cod_item_compon
,a.den_item_compon
,a.cod_unid_med_compon
,a.gru_crt_estoq_compon
FROM nv_it_man_massa a
WHERE a.cod_empresa = '02'
AND (a.cod_item = '1570' OR (a.den_item_compon <> 'EP 6108-C') )
AND a.ies_tip_item = 'F'
ORDER BY 2,8
Responder

Gostei + 0

15/01/2015

Dagoberto Neto

Ronaldo, bom dia
Voltei apenas para agradecer a ajuda e atenção.

Deu tudo certo
Abração.
Responder

Gostei + 0

15/01/2015

Isaac Jose

bom dia neto.. se possivel altere seus campos de busca que forem inteiros para int com isso ganhara em performace..
Responder

Gostei + 0

15/01/2015

Dagoberto Neto

Legal Isaac, muito grato mesmo pela ajuda de todo vocês...
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar