Fórum Varios Campos(Distinct) #54185

08/12/2005

0

Bom Dia amigos,
Uso FB1.5 e uso o seguinte codigo:
select
mp.num_ped_mat,mp.dt_pedido,
mi.qtd_ped,MI.DT_REC,M.VALOR_CUSTO,
MI.RECEBEDOR,mp.prazo_entr_tot,MP.SITUACAO,MI.VALOR_LIQUIDO,
MI.VALOR_BRUTO_REAL,MI.VALOR_BRUTO_DOLAR
from
mat_pedido mp,mat_pedido_itens mi,fornecedores f,MATERIAISPROD M
where
mp.num_ped_mat = mi.num_ped_mat and
f.cod_fornecedor = mp.cod_fornecedor and
mi.cod_material = :cod_material and
M.COD_MATERIAL = MI.COD_MATERIAL AND
MP.SITUACAO = ´D´
order by
mp.num_ped_mat desc

Isto esta me trazendo registros duplicados, entao usei o distinct, mas como sao varios campos ele nao funciona, funcionaria apenas se o DISTINCT fosse apenas para o campo MP.NUM_PED_MAT, tem como eu fazer isso, usar o DISTINCT para um só campo e nao para todos?
Obrigado


Neves777

Neves777

Responder

Posts

08/12/2005

Emerson Nascimento

com a instrução abaixo como os registros são retornados?

select
  mp.num_ped_mat,
  mp.dt_pedido,
  mi.qtd_ped,
  mi.DT_REC,
  m.VALOR_CUSTO,
  mi.RECEBEDOR,
  mp.prazo_entr_tot,
  mp.SITUACAO,
  mi.VALOR_LIQUIDO,
  mi.VALOR_BRUTO_REAL,
  mi.VALOR_BRUTO_DOLAR
from
  mat_pedido mp
inner join
  mat_pedido_itens mi on (mi.num_ped_mat = mp.num_ped_mat)
--o relacionamento abaixo não está sendo utilizado?
/*inner join
  fornecedores f on (f.cod_fornecedor = mp.cod_fornecedor) */
inner join
  meteriaisprod m on (m.COD_MATERIAL = mi.COD_MATERIAL)
where 
  mp.SITUACAO = ´D´
  and mi.cod_material = :cod_material
order by 
  mp.num_ped_mat desc


e como eles DEVERIAM ser retornados?


Responder

Gostei + 0

08/12/2005

Neves777

Vou especificar melhor, dei uma ´enxugada´ no codigo e aqui esta o indispensavel:
select
mp.num_ped_mat,mi,cod_materialmp.dt_pedido,
mi.qtd_ped,MI.DT_REC,
MI.RECEBEDOR,MP.SITUACAO
from
mat_pedido mp,mat_pedido_itens mi
where
mp.num_ped_mat = mi.num_ped_mat and
mi.cod_material = :cod_material and
MP.SITUACAO = ´D´
order by
mp.num_ped_mat desc

Este codigo retorna o valor duplicado de mi.COD_MATERIAL, que esta duplicado na tabela, entao pensei usar o distinct, mas campos como QTD_PEDIDO e QTD_RECEBIMENTO tem valores diferentes para o mesmo COD_MATERIAL, o que inviabiliza o distinc, entao axo q a unica forma seria usar o distinct APENAS para o campo COD_MATERIAL.
Capiche? ^^


Responder

Gostei + 0

08/12/2005

Emerson Nascimento

você precisa exibir número do pedido, a data dele, a quantidade por pedido? ou você precisa somente dos totais? mostre como você obteve os resultados e como você os quer.


Responder

Gostei + 0

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

Aceitar